diff --git a/clients/client-amplifybackend/src/AmplifyBackend.ts b/clients/client-amplifybackend/src/AmplifyBackend.ts index 23d0dc820111..7ca35f7fa68e 100644 --- a/clients/client-amplifybackend/src/AmplifyBackend.ts +++ b/clients/client-amplifybackend/src/AmplifyBackend.ts @@ -26,6 +26,11 @@ import { CreateBackendConfigCommandInput, CreateBackendConfigCommandOutput, } from "./commands/CreateBackendConfigCommand"; +import { + CreateBackendStorageCommand, + CreateBackendStorageCommandInput, + CreateBackendStorageCommandOutput, +} from "./commands/CreateBackendStorageCommand"; import { CreateTokenCommand, CreateTokenCommandInput, CreateTokenCommandOutput } from "./commands/CreateTokenCommand"; import { DeleteBackendAPICommand, @@ -42,6 +47,11 @@ import { DeleteBackendCommandInput, DeleteBackendCommandOutput, } from "./commands/DeleteBackendCommand"; +import { + DeleteBackendStorageCommand, + DeleteBackendStorageCommandInput, + DeleteBackendStorageCommandOutput, +} from "./commands/DeleteBackendStorageCommand"; import { DeleteTokenCommand, DeleteTokenCommandInput, DeleteTokenCommandOutput } from "./commands/DeleteTokenCommand"; import { GenerateBackendAPIModelsCommand, @@ -69,17 +79,32 @@ import { GetBackendJobCommandInput, GetBackendJobCommandOutput, } from "./commands/GetBackendJobCommand"; +import { + GetBackendStorageCommand, + GetBackendStorageCommandInput, + GetBackendStorageCommandOutput, +} from "./commands/GetBackendStorageCommand"; import { GetTokenCommand, GetTokenCommandInput, GetTokenCommandOutput } from "./commands/GetTokenCommand"; import { ImportBackendAuthCommand, ImportBackendAuthCommandInput, ImportBackendAuthCommandOutput, } from "./commands/ImportBackendAuthCommand"; +import { + ImportBackendStorageCommand, + ImportBackendStorageCommandInput, + ImportBackendStorageCommandOutput, +} from "./commands/ImportBackendStorageCommand"; import { ListBackendJobsCommand, ListBackendJobsCommandInput, ListBackendJobsCommandOutput, } from "./commands/ListBackendJobsCommand"; +import { + ListS3BucketsCommand, + ListS3BucketsCommandInput, + ListS3BucketsCommandOutput, +} from "./commands/ListS3BucketsCommand"; import { RemoveAllBackendsCommand, RemoveAllBackendsCommandInput, @@ -110,6 +135,11 @@ import { UpdateBackendJobCommandInput, UpdateBackendJobCommandOutput, } from "./commands/UpdateBackendJobCommand"; +import { + UpdateBackendStorageCommand, + UpdateBackendStorageCommandInput, + UpdateBackendStorageCommandOutput, +} from "./commands/UpdateBackendStorageCommand"; /** *
AWS Amplify Admin API
@@ -272,6 +302,38 @@ export class AmplifyBackend extends AmplifyBackendClient { } } + /** + *Creates a backend storage resource.
+ */ + public createBackendStorage( + args: CreateBackendStorageCommandInput, + options?: __HttpHandlerOptions + ): PromiseGenerates a one-time challenge code to authenticate a user into your Amplify Admin UI.
*/ @@ -394,6 +456,38 @@ export class AmplifyBackend extends AmplifyBackendClient { } } + /** + *Removes the specified backend storage resource.
+ */ + public deleteBackendStorage( + args: DeleteBackendStorageCommandInput, + options?: __HttpHandlerOptions + ): PromiseDeletes the challenge token based on the given appId and sessionId.
*/ @@ -606,6 +700,38 @@ export class AmplifyBackend extends AmplifyBackendClient { } } + /** + *Gets details for a backend storage resource.
+ */ + public getBackendStorage( + args: GetBackendStorageCommandInput, + options?: __HttpHandlerOptions + ): PromiseGets the challenge token based on the given appId and sessionId.
*/ @@ -664,6 +790,38 @@ export class AmplifyBackend extends AmplifyBackendClient { } } + /** + *Imports an existing backend storage resource.
+ */ + public importBackendStorage( + args: ImportBackendStorageCommandInput, + options?: __HttpHandlerOptions + ): PromiseLists the jobs for the backend of an Amplify app.
*/ @@ -696,6 +854,38 @@ export class AmplifyBackend extends AmplifyBackendClient { } } + /** + *The list of S3 buckets in your account.
+ */ + public listS3Buckets( + args: ListS3BucketsCommandInput, + options?: __HttpHandlerOptions + ): PromiseRemoves all backend environments from your Amplify project.
*/ @@ -887,4 +1077,36 @@ export class AmplifyBackend extends AmplifyBackendClient { return this.send(command, optionsOrCb); } } + + /** + *Updates an existing backend storage resource.
+ */ + public updateBackendStorage( + args: UpdateBackendStorageCommandInput, + options?: __HttpHandlerOptions + ): PromiseCreates a backend storage resource.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyBackendClient, CreateBackendStorageCommand } from "@aws-sdk/client-amplifybackend"; // ES Modules import + * // const { AmplifyBackendClient, CreateBackendStorageCommand } = require("@aws-sdk/client-amplifybackend"); // CommonJS import + * const client = new AmplifyBackendClient(config); + * const command = new CreateBackendStorageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateBackendStorageCommandInput} for command's `input` shape. + * @see {@link CreateBackendStorageCommandOutput} for command's `response` shape. + * @see {@link AmplifyBackendClientResolvedConfig | config} for AmplifyBackendClient's `config` shape. + * + */ +export class CreateBackendStorageCommand extends $Command< + CreateBackendStorageCommandInput, + CreateBackendStorageCommandOutput, + AmplifyBackendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateBackendStorageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackRemoves the specified backend storage resource.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyBackendClient, DeleteBackendStorageCommand } from "@aws-sdk/client-amplifybackend"; // ES Modules import + * // const { AmplifyBackendClient, DeleteBackendStorageCommand } = require("@aws-sdk/client-amplifybackend"); // CommonJS import + * const client = new AmplifyBackendClient(config); + * const command = new DeleteBackendStorageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteBackendStorageCommandInput} for command's `input` shape. + * @see {@link DeleteBackendStorageCommandOutput} for command's `response` shape. + * @see {@link AmplifyBackendClientResolvedConfig | config} for AmplifyBackendClient's `config` shape. + * + */ +export class DeleteBackendStorageCommand extends $Command< + DeleteBackendStorageCommandInput, + DeleteBackendStorageCommandOutput, + AmplifyBackendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteBackendStorageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackGets details for a backend storage resource.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyBackendClient, GetBackendStorageCommand } from "@aws-sdk/client-amplifybackend"; // ES Modules import + * // const { AmplifyBackendClient, GetBackendStorageCommand } = require("@aws-sdk/client-amplifybackend"); // CommonJS import + * const client = new AmplifyBackendClient(config); + * const command = new GetBackendStorageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetBackendStorageCommandInput} for command's `input` shape. + * @see {@link GetBackendStorageCommandOutput} for command's `response` shape. + * @see {@link AmplifyBackendClientResolvedConfig | config} for AmplifyBackendClient's `config` shape. + * + */ +export class GetBackendStorageCommand extends $Command< + GetBackendStorageCommandInput, + GetBackendStorageCommandOutput, + AmplifyBackendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetBackendStorageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackImports an existing backend storage resource.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyBackendClient, ImportBackendStorageCommand } from "@aws-sdk/client-amplifybackend"; // ES Modules import + * // const { AmplifyBackendClient, ImportBackendStorageCommand } = require("@aws-sdk/client-amplifybackend"); // CommonJS import + * const client = new AmplifyBackendClient(config); + * const command = new ImportBackendStorageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ImportBackendStorageCommandInput} for command's `input` shape. + * @see {@link ImportBackendStorageCommandOutput} for command's `response` shape. + * @see {@link AmplifyBackendClientResolvedConfig | config} for AmplifyBackendClient's `config` shape. + * + */ +export class ImportBackendStorageCommand extends $Command< + ImportBackendStorageCommandInput, + ImportBackendStorageCommandOutput, + AmplifyBackendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ImportBackendStorageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackThe list of S3 buckets in your account.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyBackendClient, ListS3BucketsCommand } from "@aws-sdk/client-amplifybackend"; // ES Modules import + * // const { AmplifyBackendClient, ListS3BucketsCommand } = require("@aws-sdk/client-amplifybackend"); // CommonJS import + * const client = new AmplifyBackendClient(config); + * const command = new ListS3BucketsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListS3BucketsCommandInput} for command's `input` shape. + * @see {@link ListS3BucketsCommandOutput} for command's `response` shape. + * @see {@link AmplifyBackendClientResolvedConfig | config} for AmplifyBackendClient's `config` shape. + * + */ +export class ListS3BucketsCommand extends $Command< + ListS3BucketsCommandInput, + ListS3BucketsCommandOutput, + AmplifyBackendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListS3BucketsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackUpdates an existing backend storage resource.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyBackendClient, UpdateBackendStorageCommand } from "@aws-sdk/client-amplifybackend"; // ES Modules import + * // const { AmplifyBackendClient, UpdateBackendStorageCommand } = require("@aws-sdk/client-amplifybackend"); // CommonJS import + * const client = new AmplifyBackendClient(config); + * const command = new UpdateBackendStorageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateBackendStorageCommandInput} for command's `input` shape. + * @see {@link UpdateBackendStorageCommandOutput} for command's `response` shape. + * @see {@link AmplifyBackendClientResolvedConfig | config} for AmplifyBackendClient's `config` shape. + * + */ +export class UpdateBackendStorageCommand extends $Command< + UpdateBackendStorageCommandInput, + UpdateBackendStorageCommandOutput, + AmplifyBackendClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateBackendStorageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackThe resource configuration for the create backend request.
+ *The resource configuration for creating backend storage.
*/ ResourceConfig?: ResourceConfig; @@ -1077,6 +1077,140 @@ export namespace CreateBackendConfigResponse { }); } +export enum AuthenticatedElement { + CREATE_AND_UPDATE = "CREATE_AND_UPDATE", + DELETE = "DELETE", + READ = "READ", +} + +export enum UnAuthenticatedElement { + CREATE_AND_UPDATE = "CREATE_AND_UPDATE", + DELETE = "DELETE", + READ = "READ", +} + +/** + *Describes the read, write, and delete permissions users have against your storage S3 bucket.
+ */ +export interface BackendStoragePermissions { + /** + *Lists all authenticated user read, write, and delete permissions for your S3 bucket.
+ */ + Authenticated: (AuthenticatedElement | string)[] | undefined; + + /** + *Lists all unauthenticated user read, write, and delete permissions for your S3 bucket.
+ */ + UnAuthenticated?: (UnAuthenticatedElement | string)[]; +} + +export namespace BackendStoragePermissions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BackendStoragePermissions): any => ({ + ...obj, + }); +} + +export enum ServiceName { + S3 = "S3", +} + +/** + *The resource configuration for creating backend storage.
+ */ +export interface CreateBackendStorageResourceConfig { + /** + *The name of the S3 bucket.
+ */ + BucketName?: string; + + /** + *The authorization configuration for the storage S3 bucket.
+ */ + Permissions: BackendStoragePermissions | undefined; + + /** + *The name of the storage service.
+ */ + ServiceName: ServiceName | string | undefined; +} + +export namespace CreateBackendStorageResourceConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateBackendStorageResourceConfig): any => ({ + ...obj, + }); +} + +/** + *The request body for CreateBackendStorage.
+ */ +export interface CreateBackendStorageRequest { + /** + *The app ID.
+ */ + AppId: string | undefined; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName: string | undefined; + + /** + *The resource configuration for creating backend storage.
+ */ + ResourceConfig: CreateBackendStorageResourceConfig | undefined; + + /** + *The name of the storage resource.
+ */ + ResourceName: string | undefined; +} + +export namespace CreateBackendStorageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateBackendStorageRequest): any => ({ + ...obj, + }); +} + +export interface CreateBackendStorageResponse { + /** + *The app ID.
+ */ + AppId?: string; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName?: string; + + /** + *The ID for the job.
+ */ + JobId?: string; + + /** + *The current status of the request.
+ */ + Status?: string; +} + +export namespace CreateBackendStorageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateBackendStorageResponse): any => ({ + ...obj, + }); +} + export interface CreateTokenRequest { /** *The app ID.
@@ -1331,6 +1465,71 @@ export namespace DeleteBackendAuthResponse { }); } +/** + *The request body for DeleteBackendStorage.
+ */ +export interface DeleteBackendStorageRequest { + /** + *The app ID.
+ */ + AppId: string | undefined; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName: string | undefined; + + /** + *The name of the storage resource.
+ */ + ResourceName: string | undefined; + + /** + *The name of the storage service.
+ */ + ServiceName: ServiceName | string | undefined; +} + +export namespace DeleteBackendStorageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteBackendStorageRequest): any => ({ + ...obj, + }); +} + +export interface DeleteBackendStorageResponse { + /** + *The app ID.
+ */ + AppId?: string; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName?: string; + + /** + *The ID for the job.
+ */ + JobId?: string; + + /** + *The current status of the request.
+ */ + Status?: string; +} + +export namespace DeleteBackendStorageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteBackendStorageResponse): any => ({ + ...obj, + }); +} + export interface DeleteTokenRequest { /** *The app ID.
@@ -1775,6 +1974,100 @@ export namespace GetBackendJobResponse { }); } +/** + *The request body for GetBackendStorage.
+ */ +export interface GetBackendStorageRequest { + /** + *The app ID.
+ */ + AppId: string | undefined; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName: string | undefined; + + /** + *The name of the storage resource.
+ */ + ResourceName: string | undefined; +} + +export namespace GetBackendStorageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetBackendStorageRequest): any => ({ + ...obj, + }); +} + +/** + *The details for a backend storage resource.
+ */ +export interface GetBackendStorageResourceConfig { + /** + *The name of the S3 bucket.
+ */ + BucketName?: string; + + /** + *Returns True if the storage resource has been imported.
+ */ + Imported: boolean | undefined; + + /** + *The authorization configuration for the storage S3 bucket.
+ */ + Permissions?: BackendStoragePermissions; + + /** + *The name of the storage service.
+ */ + ServiceName: ServiceName | string | undefined; +} + +export namespace GetBackendStorageResourceConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetBackendStorageResourceConfig): any => ({ + ...obj, + }); +} + +export interface GetBackendStorageResponse { + /** + *The app ID.
+ */ + AppId?: string; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName?: string; + + /** + *The resource configuration for the backend storage resource.
+ */ + ResourceConfig?: GetBackendStorageResourceConfig; + + /** + *The name of the storage resource.
+ */ + ResourceName?: string; +} + +export namespace GetBackendStorageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetBackendStorageResponse): any => ({ + ...obj, + }); +} + export interface GetTokenRequest { /** *The app ID.
@@ -1912,6 +2205,71 @@ export namespace ImportBackendAuthResponse { }); } +/** + *The request body for ImportBackendStorage.
+ */ +export interface ImportBackendStorageRequest { + /** + *The app ID.
+ */ + AppId: string | undefined; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName: string | undefined; + + /** + *The name of the S3 bucket.
+ */ + BucketName?: string; + + /** + *The name of the storage service.
+ */ + ServiceName: ServiceName | string | undefined; +} + +export namespace ImportBackendStorageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ImportBackendStorageRequest): any => ({ + ...obj, + }); +} + +export interface ImportBackendStorageResponse { + /** + *The app ID.
+ */ + AppId?: string; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName?: string; + + /** + *The ID for the job.
+ */ + JobId?: string; + + /** + *The current status of the request.
+ */ + Status?: string; +} + +export namespace ImportBackendStorageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ImportBackendStorageResponse): any => ({ + ...obj, + }); +} + /** *The request body for ListBackendJobs.
*/ @@ -2036,6 +2394,70 @@ export namespace ListBackendJobsResponse { }); } +/** + *The request body for S3Buckets.
+ */ +export interface ListS3BucketsRequest { + /** + *Reserved for future use.
+ */ + NextToken?: string; +} + +export namespace ListS3BucketsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListS3BucketsRequest): any => ({ + ...obj, + }); +} + +/** + *Describes the metadata of the S3 bucket.
+ */ +export interface S3BucketInfo { + /** + *The creation date of the S3 bucket.
+ */ + CreationDate?: string; + + /** + *The name of the S3 bucket.
+ */ + Name?: string; +} + +export namespace S3BucketInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: S3BucketInfo): any => ({ + ...obj, + }); +} + +export interface ListS3BucketsResponse { + /** + *The list of S3 buckets.
+ */ + Buckets?: S3BucketInfo[]; + + /** + *Reserved for future use.
+ */ + NextToken?: string; +} + +export namespace ListS3BucketsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListS3BucketsResponse): any => ({ + ...obj, + }); +} + /** *The request body for RemoveAllBackends.
*/ @@ -2664,3 +3086,92 @@ export namespace UpdateBackendJobResponse { ...obj, }); } + +/** + *The resource configuration for updating backend storage.
+ */ +export interface UpdateBackendStorageResourceConfig { + /** + *The authorization configuration for the storage S3 bucket.
+ */ + Permissions: BackendStoragePermissions | undefined; + + /** + *The name of the storage service.
+ */ + ServiceName: ServiceName | string | undefined; +} + +export namespace UpdateBackendStorageResourceConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateBackendStorageResourceConfig): any => ({ + ...obj, + }); +} + +/** + *The request body for UpdateBackendStorage.
+ */ +export interface UpdateBackendStorageRequest { + /** + *The app ID.
+ */ + AppId: string | undefined; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName: string | undefined; + + /** + *The resource configuration for updating backend storage.
+ */ + ResourceConfig: UpdateBackendStorageResourceConfig | undefined; + + /** + *The name of the storage resource.
+ */ + ResourceName: string | undefined; +} + +export namespace UpdateBackendStorageRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateBackendStorageRequest): any => ({ + ...obj, + }); +} + +export interface UpdateBackendStorageResponse { + /** + *The app ID.
+ */ + AppId?: string; + + /** + *The name of the backend environment.
+ */ + BackendEnvironmentName?: string; + + /** + *The ID for the job.
+ */ + JobId?: string; + + /** + *The current status of the request.
+ */ + Status?: string; +} + +export namespace UpdateBackendStorageResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateBackendStorageResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-amplifybackend/src/protocols/Aws_restJson1.ts b/clients/client-amplifybackend/src/protocols/Aws_restJson1.ts index 80938561b135..7c7a8eaa2803 100644 --- a/clients/client-amplifybackend/src/protocols/Aws_restJson1.ts +++ b/clients/client-amplifybackend/src/protocols/Aws_restJson1.ts @@ -24,10 +24,18 @@ import { CreateBackendConfigCommandInput, CreateBackendConfigCommandOutput, } from "../commands/CreateBackendConfigCommand"; +import { + CreateBackendStorageCommandInput, + CreateBackendStorageCommandOutput, +} from "../commands/CreateBackendStorageCommand"; import { CreateTokenCommandInput, CreateTokenCommandOutput } from "../commands/CreateTokenCommand"; import { DeleteBackendAPICommandInput, DeleteBackendAPICommandOutput } from "../commands/DeleteBackendAPICommand"; import { DeleteBackendAuthCommandInput, DeleteBackendAuthCommandOutput } from "../commands/DeleteBackendAuthCommand"; import { DeleteBackendCommandInput, DeleteBackendCommandOutput } from "../commands/DeleteBackendCommand"; +import { + DeleteBackendStorageCommandInput, + DeleteBackendStorageCommandOutput, +} from "../commands/DeleteBackendStorageCommand"; import { DeleteTokenCommandInput, DeleteTokenCommandOutput } from "../commands/DeleteTokenCommand"; import { GenerateBackendAPIModelsCommandInput, @@ -41,9 +49,15 @@ import { import { GetBackendAuthCommandInput, GetBackendAuthCommandOutput } from "../commands/GetBackendAuthCommand"; import { GetBackendCommandInput, GetBackendCommandOutput } from "../commands/GetBackendCommand"; import { GetBackendJobCommandInput, GetBackendJobCommandOutput } from "../commands/GetBackendJobCommand"; +import { GetBackendStorageCommandInput, GetBackendStorageCommandOutput } from "../commands/GetBackendStorageCommand"; import { GetTokenCommandInput, GetTokenCommandOutput } from "../commands/GetTokenCommand"; import { ImportBackendAuthCommandInput, ImportBackendAuthCommandOutput } from "../commands/ImportBackendAuthCommand"; +import { + ImportBackendStorageCommandInput, + ImportBackendStorageCommandOutput, +} from "../commands/ImportBackendStorageCommand"; import { ListBackendJobsCommandInput, ListBackendJobsCommandOutput } from "../commands/ListBackendJobsCommand"; +import { ListS3BucketsCommandInput, ListS3BucketsCommandOutput } from "../commands/ListS3BucketsCommand"; import { RemoveAllBackendsCommandInput, RemoveAllBackendsCommandOutput } from "../commands/RemoveAllBackendsCommand"; import { RemoveBackendConfigCommandInput, @@ -56,8 +70,13 @@ import { UpdateBackendConfigCommandOutput, } from "../commands/UpdateBackendConfigCommand"; import { UpdateBackendJobCommandInput, UpdateBackendJobCommandOutput } from "../commands/UpdateBackendJobCommand"; +import { + UpdateBackendStorageCommandInput, + UpdateBackendStorageCommandOutput, +} from "../commands/UpdateBackendStorageCommand"; import { AdditionalConstraintsElement, + AuthenticatedElement, BackendAPIAppSyncAuthSettings, BackendAPIAuthType, BackendAPIConflictResolution, @@ -65,6 +84,7 @@ import { BackendAuthAppleProviderConfig, BackendAuthSocialProviderConfig, BackendJobRespObj, + BackendStoragePermissions, BadRequestException, CreateBackendAuthForgotPasswordConfig, CreateBackendAuthIdentityPoolConfig, @@ -73,18 +93,22 @@ import { CreateBackendAuthPasswordPolicyConfig, CreateBackendAuthResourceConfig, CreateBackendAuthUserPoolConfig, + CreateBackendStorageResourceConfig, EmailSettings, GatewayTimeoutException, + GetBackendStorageResourceConfig, LoginAuthConfigReqObj, MfaTypesElement, NotFoundException, OAuthScopesElement, RequiredSignUpAttributesElement, ResourceConfig, + S3BucketInfo, Settings, SmsSettings, SocialProviderSettings, TooManyRequestsException, + UnAuthenticatedElement, UpdateBackendAuthForgotPasswordConfig, UpdateBackendAuthIdentityPoolConfig, UpdateBackendAuthMFAConfig, @@ -92,6 +116,7 @@ import { UpdateBackendAuthPasswordPolicyConfig, UpdateBackendAuthResourceConfig, UpdateBackendAuthUserPoolConfig, + UpdateBackendStorageResourceConfig, } from "../models/models_0"; export const serializeAws_restJson1CloneBackendCommand = async ( @@ -283,6 +308,45 @@ export const serializeAws_restJson1CreateBackendConfigCommand = async ( }); }; +export const serializeAws_restJson1CreateBackendStorageCommand = async ( + input: CreateBackendStorageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/backend/{AppId}/storage"; + if (input.AppId !== undefined) { + const labelValue: string = input.AppId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppId."); + } + resolvedPath = resolvedPath.replace("{AppId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppId."); + } + let body: any; + body = JSON.stringify({ + ...(input.BackendEnvironmentName !== undefined && + input.BackendEnvironmentName !== null && { backendEnvironmentName: input.BackendEnvironmentName }), + ...(input.ResourceConfig !== undefined && + input.ResourceConfig !== null && { + resourceConfig: serializeAws_restJson1CreateBackendStorageResourceConfig(input.ResourceConfig, context), + }), + ...(input.ResourceName !== undefined && input.ResourceName !== null && { resourceName: input.ResourceName }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateTokenCommand = async ( input: CreateTokenCommandInput, context: __SerdeContext @@ -443,6 +507,51 @@ export const serializeAws_restJson1DeleteBackendAuthCommand = async ( }); }; +export const serializeAws_restJson1DeleteBackendStorageCommand = async ( + input: DeleteBackendStorageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/backend/{AppId}/storage/{BackendEnvironmentName}/remove"; + if (input.AppId !== undefined) { + const labelValue: string = input.AppId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppId."); + } + resolvedPath = resolvedPath.replace("{AppId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppId."); + } + if (input.BackendEnvironmentName !== undefined) { + const labelValue: string = input.BackendEnvironmentName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BackendEnvironmentName."); + } + resolvedPath = resolvedPath.replace("{BackendEnvironmentName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BackendEnvironmentName."); + } + let body: any; + body = JSON.stringify({ + ...(input.ResourceName !== undefined && input.ResourceName !== null && { resourceName: input.ResourceName }), + ...(input.ServiceName !== undefined && input.ServiceName !== null && { serviceName: input.ServiceName }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteTokenCommand = async ( input: DeleteTokenCommandInput, context: __SerdeContext @@ -744,6 +853,50 @@ export const serializeAws_restJson1GetBackendJobCommand = async ( }); }; +export const serializeAws_restJson1GetBackendStorageCommand = async ( + input: GetBackendStorageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/backend/{AppId}/storage/{BackendEnvironmentName}/details"; + if (input.AppId !== undefined) { + const labelValue: string = input.AppId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppId."); + } + resolvedPath = resolvedPath.replace("{AppId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppId."); + } + if (input.BackendEnvironmentName !== undefined) { + const labelValue: string = input.BackendEnvironmentName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BackendEnvironmentName."); + } + resolvedPath = resolvedPath.replace("{BackendEnvironmentName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BackendEnvironmentName."); + } + let body: any; + body = JSON.stringify({ + ...(input.ResourceName !== undefined && input.ResourceName !== null && { resourceName: input.ResourceName }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1GetTokenCommand = async ( input: GetTokenCommandInput, context: __SerdeContext @@ -831,6 +984,51 @@ export const serializeAws_restJson1ImportBackendAuthCommand = async ( }); }; +export const serializeAws_restJson1ImportBackendStorageCommand = async ( + input: ImportBackendStorageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/backend/{AppId}/storage/{BackendEnvironmentName}/import"; + if (input.AppId !== undefined) { + const labelValue: string = input.AppId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppId."); + } + resolvedPath = resolvedPath.replace("{AppId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppId."); + } + if (input.BackendEnvironmentName !== undefined) { + const labelValue: string = input.BackendEnvironmentName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BackendEnvironmentName."); + } + resolvedPath = resolvedPath.replace("{BackendEnvironmentName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BackendEnvironmentName."); + } + let body: any; + body = JSON.stringify({ + ...(input.BucketName !== undefined && input.BucketName !== null && { bucketName: input.BucketName }), + ...(input.ServiceName !== undefined && input.ServiceName !== null && { serviceName: input.ServiceName }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1ListBackendJobsCommand = async ( input: ListBackendJobsCommandInput, context: __SerdeContext @@ -879,6 +1077,30 @@ export const serializeAws_restJson1ListBackendJobsCommand = async ( }); }; +export const serializeAws_restJson1ListS3BucketsCommand = async ( + input: ListS3BucketsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/s3Buckets"; + let body: any; + body = JSON.stringify({ + ...(input.NextToken !== undefined && input.NextToken !== null && { nextToken: input.NextToken }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1RemoveAllBackendsCommand = async ( input: RemoveAllBackendsCommandInput, context: __SerdeContext @@ -1129,6 +1351,54 @@ export const serializeAws_restJson1UpdateBackendJobCommand = async ( }); }; +export const serializeAws_restJson1UpdateBackendStorageCommand = async ( + input: UpdateBackendStorageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/backend/{AppId}/storage/{BackendEnvironmentName}"; + if (input.AppId !== undefined) { + const labelValue: string = input.AppId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppId."); + } + resolvedPath = resolvedPath.replace("{AppId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppId."); + } + if (input.BackendEnvironmentName !== undefined) { + const labelValue: string = input.BackendEnvironmentName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: BackendEnvironmentName."); + } + resolvedPath = resolvedPath.replace("{BackendEnvironmentName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: BackendEnvironmentName."); + } + let body: any; + body = JSON.stringify({ + ...(input.ResourceConfig !== undefined && + input.ResourceConfig !== null && { + resourceConfig: serializeAws_restJson1UpdateBackendStorageResourceConfig(input.ResourceConfig, context), + }), + ...(input.ResourceName !== undefined && input.ResourceName !== null && { resourceName: input.ResourceName }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const deserializeAws_restJson1CloneBackendCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1616,40 +1886,40 @@ const deserializeAws_restJson1CreateBackendConfigCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1CreateTokenCommand = async ( +export const deserializeAws_restJson1CreateBackendStorageCommand = async ( output: __HttpResponse, context: __SerdeContext -): PromiseSpecifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace
, and the value is a Boolean.
Specifies whether full requests and responses are logged for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace
, and the value is a Boolean.
Use the AppConfigData API, a capability of AWS AppConfig, to retrieve deployed configuration.
+ +## Installing + +To install the this package, simply type add or install @aws-sdk/client-appconfigdata +using your favorite package manager: + +- `npm install @aws-sdk/client-appconfigdata` +- `yarn add @aws-sdk/client-appconfigdata` +- `pnpm add @aws-sdk/client-appconfigdata` + +## Getting Started + +### Import + +The AWS SDK is modulized by clients and commands. +To send a request, you only need to import the `AppConfigDataClient` and +the commands you need, for example `GetLatestConfigurationCommand`: + +```js +// ES5 example +const { AppConfigDataClient, GetLatestConfigurationCommand } = require("@aws-sdk/client-appconfigdata"); +``` + +```ts +// ES6+ example +import { AppConfigDataClient, GetLatestConfigurationCommand } from "@aws-sdk/client-appconfigdata"; +``` + +### 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 AppConfigDataClient({ region: "REGION" }); + +const params = { + /** input parameters */ +}; +const command = new GetLatestConfigurationCommand(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-appconfigdata"; +const client = new AWS.AppConfigData({ region: "REGION" }); + +// async/await. +try { + const data = await client.getLatestConfiguration(params); + // process data. +} catch (error) { + // error handling. +} + +// Promises. +client + .getLatestConfiguration(params) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }); + +// callbacks. +client.getLatestConfiguration(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-appconfigdata` 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-appconfigdata/jest.config.js b/clients/client-appconfigdata/jest.config.js new file mode 100644 index 000000000000..02eed352c6a8 --- /dev/null +++ b/clients/client-appconfigdata/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-appconfigdata/package.json b/clients/client-appconfigdata/package.json new file mode 100644 index 000000000000..d3ef166e5234 --- /dev/null +++ b/clients/client-appconfigdata/package.json @@ -0,0 +1,94 @@ +{ + "name": "@aws-sdk/client-appconfigdata", + "description": "AWS SDK for JavaScript Appconfigdata 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.41.0", + "@aws-sdk/config-resolver": "3.40.0", + "@aws-sdk/credential-provider-node": "3.41.0", + "@aws-sdk/fetch-http-handler": "3.40.0", + "@aws-sdk/hash-node": "3.40.0", + "@aws-sdk/invalid-dependency": "3.40.0", + "@aws-sdk/middleware-content-length": "3.40.0", + "@aws-sdk/middleware-host-header": "3.40.0", + "@aws-sdk/middleware-logger": "3.40.0", + "@aws-sdk/middleware-retry": "3.40.0", + "@aws-sdk/middleware-serde": "3.40.0", + "@aws-sdk/middleware-signing": "3.40.0", + "@aws-sdk/middleware-stack": "3.40.0", + "@aws-sdk/middleware-user-agent": "3.40.0", + "@aws-sdk/node-config-provider": "3.40.0", + "@aws-sdk/node-http-handler": "3.40.0", + "@aws-sdk/protocol-http": "3.40.0", + "@aws-sdk/smithy-client": "3.41.0", + "@aws-sdk/types": "3.40.0", + "@aws-sdk/url-parser": "3.40.0", + "@aws-sdk/util-base64-browser": "3.37.0", + "@aws-sdk/util-base64-node": "3.37.0", + "@aws-sdk/util-body-length-browser": "3.37.0", + "@aws-sdk/util-body-length-node": "3.37.0", + "@aws-sdk/util-user-agent-browser": "3.40.0", + "@aws-sdk/util-user-agent-node": "3.40.0", + "@aws-sdk/util-utf8-browser": "3.37.0", + "@aws-sdk/util-utf8-node": "3.37.0", + "tslib": "^2.3.0" + }, + "devDependencies": { + "@aws-sdk/service-client-documentation-generator": "3.38.0", + "@types/node": "^12.7.5", + "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-appconfigdata", + "repository": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-js-v3.git", + "directory": "clients/client-appconfigdata" + } +} diff --git a/clients/client-appconfigdata/src/AppConfigData.ts b/clients/client-appconfigdata/src/AppConfigData.ts new file mode 100644 index 000000000000..6df70e578ffa --- /dev/null +++ b/clients/client-appconfigdata/src/AppConfigData.ts @@ -0,0 +1,92 @@ +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +import { AppConfigDataClient } from "./AppConfigDataClient"; +import { + GetLatestConfigurationCommand, + GetLatestConfigurationCommandInput, + GetLatestConfigurationCommandOutput, +} from "./commands/GetLatestConfigurationCommand"; +import { + StartConfigurationSessionCommand, + StartConfigurationSessionCommandInput, + StartConfigurationSessionCommandOutput, +} from "./commands/StartConfigurationSessionCommand"; + +/** + *Use the AppConfigData API, a capability of AWS AppConfig, to retrieve deployed configuration.
+ */ +export class AppConfigData extends AppConfigDataClient { + /** + *Retrieves the latest deployed configuration. This API may return empty Configuration data if the client already has the latest version. See StartConfigurationSession to obtain an InitialConfigurationToken to call this API.
+ *Each call to GetLatestConfiguration returns a new ConfigurationToken (NextPollConfigurationToken + * in the response). This new token MUST be provided to the next call to GetLatestConfiguration when + * polling for configuration updates.
+ *To avoid excess charges, we recommend that you include the
+ * ClientConfigurationVersion
value with every call to
+ * GetConfiguration
. This value must be saved on your client. Subsequent
+ * calls to GetConfiguration
must pass this value by using the
+ * ClientConfigurationVersion
parameter.
Starts a configuration session used to retrieve a deployed configuration. See the GetLatestConfiguration API for more details.
+ */ + public startConfigurationSession( + args: StartConfigurationSessionCommandInput, + options?: __HttpHandlerOptions + ): PromiseUse the AppConfigData API, a capability of AWS AppConfig, to retrieve deployed configuration.
+ */ +export class AppConfigDataClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + AppConfigDataClientResolvedConfig +> { + /** + * The resolved configuration of AppConfigDataClient class. This is resolved and normalized from the {@link AppConfigDataClientConfig | constructor configuration interface}. + */ + readonly config: AppConfigDataClientResolvedConfig; + + constructor(configuration: AppConfigDataClientConfig) { + 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-appconfigdata/src/commands/GetLatestConfigurationCommand.ts b/clients/client-appconfigdata/src/commands/GetLatestConfigurationCommand.ts new file mode 100644 index 000000000000..4617f2e33943 --- /dev/null +++ b/clients/client-appconfigdata/src/commands/GetLatestConfigurationCommand.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 { AppConfigDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppConfigDataClient"; +import { GetLatestConfigurationRequest, GetLatestConfigurationResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetLatestConfigurationCommand, + serializeAws_restJson1GetLatestConfigurationCommand, +} from "../protocols/Aws_restJson1"; + +export interface GetLatestConfigurationCommandInput extends GetLatestConfigurationRequest {} +export interface GetLatestConfigurationCommandOutput extends GetLatestConfigurationResponse, __MetadataBearer {} + +/** + *Retrieves the latest deployed configuration. This API may return empty Configuration data if the client already has the latest version. See StartConfigurationSession to obtain an InitialConfigurationToken to call this API.
+ *Each call to GetLatestConfiguration returns a new ConfigurationToken (NextPollConfigurationToken + * in the response). This new token MUST be provided to the next call to GetLatestConfiguration when + * polling for configuration updates.
+ *To avoid excess charges, we recommend that you include the
+ * ClientConfigurationVersion
value with every call to
+ * GetConfiguration
. This value must be saved on your client. Subsequent
+ * calls to GetConfiguration
must pass this value by using the
+ * ClientConfigurationVersion
parameter.
Starts a configuration session used to retrieve a deployed configuration. See the GetLatestConfiguration API for more details.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppConfigDataClient, StartConfigurationSessionCommand } from "@aws-sdk/client-appconfigdata"; // ES Modules import + * // const { AppConfigDataClient, StartConfigurationSessionCommand } = require("@aws-sdk/client-appconfigdata"); // CommonJS import + * const client = new AppConfigDataClient(config); + * const command = new StartConfigurationSessionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StartConfigurationSessionCommandInput} for command's `input` shape. + * @see {@link StartConfigurationSessionCommandOutput} for command's `response` shape. + * @see {@link AppConfigDataClientResolvedConfig | config} for AppConfigDataClient's `config` shape. + * + */ +export class StartConfigurationSessionCommand extends $Command< + StartConfigurationSessionCommandInput, + StartConfigurationSessionCommandOutput, + AppConfigDataClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartConfigurationSessionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackContains details about an invalid parameter.
+ */ +export interface InvalidParameterDetail { + /** + *Detail describing why an individual parameter did not satisfy the constraints specified by the service
+ */ + Problem?: InvalidParameterProblem | string; +} + +export namespace InvalidParameterDetail { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidParameterDetail): any => ({ + ...obj, + }); +} + +/** + *Details describing why the request was invalid
+ */ +export type BadRequestDetails = BadRequestDetails.InvalidParametersMember | BadRequestDetails.$UnknownMember; + +export namespace BadRequestDetails { + /** + *Present if the Reason for the bad request was 'InvalidParameters'
+ */ + export interface InvalidParametersMember { + InvalidParameters: { [key: string]: InvalidParameterDetail }; + $unknown?: never; + } + + export interface $UnknownMember { + InvalidParameters?: never; + $unknown: [string, any]; + } + + export interface VisitorThe input fails to satisfy the constraints specified by the service.
+ */ +export interface BadRequestException extends __SmithyException, $MetadataBearer { + name: "BadRequestException"; + $fault: "client"; + Message?: string; + /** + *Code indicating the reason the request was invalid.
+ */ + Reason?: BadRequestReason | string; + + /** + *Details describing why the request was invalid
+ */ + Details?: BadRequestDetails; +} + +export namespace BadRequestException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BadRequestException): any => ({ + ...obj, + ...(obj.Details && { Details: BadRequestDetails.filterSensitiveLog(obj.Details) }), + }); +} + +/** + *There was an internal failure in the service.
+ */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + Message?: string; +} + +export namespace InternalServerException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +export enum ResourceType { + /** + * Resource type value for the Application resource. + */ + APPLICATION = "Application", + /** + * Resource type value for the Configuration resource. + */ + CONFIGURATION = "Configuration", + /** + * Resource type value for the ConfigurationProfile resource. + */ + CONFIGURATION_PROFILE = "ConfigurationProfile", + /** + * Resource type value for the Deployment resource. + */ + DEPLOYMENT = "Deployment", + /** + * Resource type value for the Environment resource. + */ + ENVIRONMENT = "Environment", +} + +/** + *The requested resource could not be found.
+ */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + Message?: string; + /** + *The type of resource that was not found.
+ */ + ResourceType?: ResourceType | string; + + /** + *A map indicating which parameters in the request reference the resource that was not found.
+ */ + ReferencedBy?: { [key: string]: string }; +} + +export namespace ResourceNotFoundException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +/** + *Request parameters for the StartConfigurationSession API.
+ */ +export interface StartConfigurationSessionRequest { + /** + *The application ID or the application name.
+ */ + ApplicationIdentifier: string | undefined; + + /** + *The environment ID or the environment name.
+ */ + EnvironmentIdentifier: string | undefined; + + /** + *The configuration profile ID or the configuration profile name.
+ */ + ConfigurationProfileIdentifier: string | undefined; + + /** + *The interval at which your client will poll for configuration. If provided, the service + * will throw a BadRequestException if the client polls before the specified poll interval. By default, + * client poll intervals are not enforced.
+ */ + RequiredMinimumPollIntervalInSeconds?: number; +} + +export namespace StartConfigurationSessionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartConfigurationSessionRequest): any => ({ + ...obj, + }); +} + +/** + *Response parameters for the StartConfigurationSession API.
+ */ +export interface StartConfigurationSessionResponse { + /** + *Token encapsulating state about the configuration session. Provide this token to the GetLatestConfiguration API to retrieve configuration data.
+ *This token should only be used once in your first call to GetLatestConfiguration. You MUST use the + * new token in the GetConfiguration response (NextPollConfigurationToken) in each subsequent call to + * GetLatestConfiguration.
+ *The request was denied due to request throttling.
+ */ +export interface ThrottlingException extends __SmithyException, $MetadataBearer { + name: "ThrottlingException"; + $fault: "client"; + Message?: string; +} + +export namespace ThrottlingException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ThrottlingException): any => ({ + ...obj, + }); +} + +/** + *Request parameters for the GetLatestConfiguration API
+ */ +export interface GetLatestConfigurationRequest { + /** + *Token describing the current state of the configuration session. To obtain a token, first call the StartConfigurationSession API. Note that every call to GetLatestConfiguration will return a new ConfigurationToken (NextPollConfigurationToken in the response) and MUST be provided to subsequent GetLatestConfiguration API calls.
+ */ + ConfigurationToken: string | undefined; +} + +export namespace GetLatestConfigurationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetLatestConfigurationRequest): any => ({ + ...obj, + }); +} + +/** + *Response parameters for the GetLatestConfiguration API
+ */ +export interface GetLatestConfigurationResponse { + /** + *The latest token describing the current state of the configuration session. This MUST be provided to the next call to GetLatestConfiguration.
+ */ + NextPollConfigurationToken?: string; + + /** + *The amount of time the client should wait before polling for configuration updates again. See RequiredMinimumPollIntervalInSeconds to set the desired poll interval.
+ */ + NextPollIntervalInSeconds?: number; + + /** + *A standard MIME type describing the format of the configuration content.
+ */ + ContentType?: string; + + /** + *The data of the configuration. Note that this may be empty if the client already has the latest version of configuration.
+ */ + Configuration?: Uint8Array; +} + +export namespace GetLatestConfigurationResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetLatestConfigurationResponse): any => ({ + ...obj, + ...(obj.Configuration && { Configuration: SENSITIVE_STRING }), + }); +} diff --git a/clients/client-appconfigdata/src/protocols/Aws_restJson1.ts b/clients/client-appconfigdata/src/protocols/Aws_restJson1.ts new file mode 100644 index 000000000000..2cdc776ea99e --- /dev/null +++ b/clients/client-appconfigdata/src/protocols/Aws_restJson1.ts @@ -0,0 +1,458 @@ +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { + expectNonNull as __expectNonNull, + expectObject as __expectObject, + expectString as __expectString, + expectUnion as __expectUnion, + extendedEncodeURIComponent as __extendedEncodeURIComponent, + strictParseInt32 as __strictParseInt32, +} from "@aws-sdk/smithy-client"; +import { + Endpoint as __Endpoint, + MetadataBearer as __MetadataBearer, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, + SmithyException as __SmithyException, +} from "@aws-sdk/types"; + +import { + GetLatestConfigurationCommandInput, + GetLatestConfigurationCommandOutput, +} from "../commands/GetLatestConfigurationCommand"; +import { + StartConfigurationSessionCommandInput, + StartConfigurationSessionCommandOutput, +} from "../commands/StartConfigurationSessionCommand"; +import { + BadRequestDetails, + BadRequestException, + InternalServerException, + InvalidParameterDetail, + ResourceNotFoundException, + ThrottlingException, +} from "../models/models_0"; + +export const serializeAws_restJson1GetLatestConfigurationCommand = async ( + input: GetLatestConfigurationCommandInput, + 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 || ""}` + "/configuration"; + const query: any = { + ...(input.ConfigurationToken !== undefined && { configuration_token: input.ConfigurationToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1StartConfigurationSessionCommand = async ( + input: StartConfigurationSessionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/configurationsessions"; + let body: any; + body = JSON.stringify({ + ...(input.ApplicationIdentifier !== undefined && + input.ApplicationIdentifier !== null && { ApplicationIdentifier: input.ApplicationIdentifier }), + ...(input.ConfigurationProfileIdentifier !== undefined && + input.ConfigurationProfileIdentifier !== null && { + ConfigurationProfileIdentifier: input.ConfigurationProfileIdentifier, + }), + ...(input.EnvironmentIdentifier !== undefined && + input.EnvironmentIdentifier !== null && { EnvironmentIdentifier: input.EnvironmentIdentifier }), + ...(input.RequiredMinimumPollIntervalInSeconds !== undefined && + input.RequiredMinimumPollIntervalInSeconds !== null && { + RequiredMinimumPollIntervalInSeconds: input.RequiredMinimumPollIntervalInSeconds, + }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const deserializeAws_restJson1GetLatestConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promiseresources.type
* - This field is required.
* resources.type
can only use the Equals
operator, and the
- * value can be one of the following: AWS::S3::Object
,
- * AWS::S3::AccessPoint
,
- * AWS::Lambda::Function
, AWS::DynamoDB::Table
,
- * AWS::S3Outposts::Object
, AWS::ManagedBlockchain::Node
,
- * AWS::S3ObjectLambda::AccessPoint
, or AWS::EC2::Snapshot
.
+ * value can be one of the following:
+ *
+ * AWS::S3::Object
+ *
+ * AWS::Lambda::Function
+ *
+ * AWS::DynamoDB::Table
+ *
+ * AWS::S3Outposts::Object
+ *
+ * AWS::ManagedBlockchain::Node
+ *
+ * AWS::S3ObjectLambda::AccessPoint
+ *
+ * AWS::EC2::Snapshot
+ *
+ * AWS::S3::AccessPoint
+ *
+ * AWS::DynamoDB::Stream
+ *
* You can have only one resources.type
field per selector. To log data
* events on more than one resource type, add another selector.
resources.ARN
* - You can use any operator with
- * resources.ARN, but if you use Equals
or NotEquals
, the
+ * resources.ARN
, but if you use Equals
or NotEquals
, the
* value must exactly match the ARN of a valid resource of the type you've specified in
* the template as the value of resources.type. For example, if resources.type equals
* AWS::S3::Object
, the ARN must be in one of the following formats. To
@@ -391,7 +435,7 @@ export interface AdvancedFieldSelector {
*
- * arn:
+ * arn:
*
When resources.type
equals AWS::DynamoDB::Stream
, and the operator is set to
+ * Equals
or NotEquals
, the ARN must be in the following format:
+ * arn:
+ *
The resource type in which you want to log data events. You can specify
- * AWS::S3::Object
, AWS::Lambda::Function
, or
- * AWS::DynamoDB::Table
resources.
The AWS::S3Outposts::Object
, AWS::ManagedBlockchain::Node
,
- * AWS::S3ObjectLambda::AccessPoint
, and AWS::EC2::Snapshot
resource types are not valid in basic
- * event selectors. To log data events on these resource types, use advanced event
- * selectors.
+ * AWS::S3::Object
+ *
+ * AWS::Lambda::Function
+ *
+ * AWS::DynamoDB::Table
+ *
The following resource types are also availble through advanced event selectors. + * Basic event selector resource types are valid in advanced event selectors, but + * advanced event selector resource types are not valid in basic event selectors. + * For more information, see AdvancedFieldSelector$Field.
+ *
+ * AWS::S3Outposts::Object
+ *
+ * AWS::ManagedBlockchain::Node
+ *
+ * AWS::S3ObjectLambda::AccessPoint
+ *
+ * AWS::EC2::Snapshot
+ *
+ * AWS::S3::AccessPoint
+ *
+ * AWS::DynamoDB::Stream
+ *
You can connect -programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see +programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.
You can * connect - * programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see + * programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see * Amazon Connect * Endpoints.
*Creates an Amazon Web Services resource association with an Amazon Connect instance.
+ *Creates an AWS resource association with an Amazon Connect instance.
*/ public createIntegrationAssociation( args: CreateIntegrationAssociationCommandInput, @@ -1280,7 +1300,7 @@ export class Connect extends ConnectClient { } /** - *Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have + *
Deletes an AWS resource association from an Amazon Connect instance. The association must not have * any use cases associated with it.
*/ public deleteIntegrationAssociation( @@ -1504,6 +1524,42 @@ export class Connect extends ConnectClient { } } + /** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Describes the specified contact.
+ *Contact information is available in Amazon Connect for 24 months, and then it is deleted.
+ *Describes the specified contact flow.
*You can also create and update contact flows using the Amazon Connect
@@ -2374,8 +2430,8 @@ export class Connect extends ConnectClient {
/**
* This API is in preview release for Amazon Connect and is subject to change. For the specified version of Amazon Lex, returns a paginated list of all the Amazon Lex bots currently associated with the
- * instance. For the specified version of Amazon Lex, returns a paginated list of all the Amazon Lex bots currently
+ * associated with the instance. This API is in preview release for Amazon Connect and is subject to change. For the specified Provides information about the hours of operation for the specified Amazon Connect instance. For more information about hours of operation, see Set the Hours of Operation for a
@@ -2574,7 +2664,7 @@ export class Connect extends ConnectClient {
}
/**
- * Provides summary information about the Amazon Web Services resource associations for the specified Amazon Connect
+ * Provides summary information about the AWS resource associations for the specified Amazon Connect
* instance. 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
+ * 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. 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.referenceTypes
, returns a list of references associated with
+ * the contact.
Campaign calls are not allowed by default. Before you can make a call with
- * TrafficType
= CAMPAIGN
, you must submit a service quota increase request. For more information, see
- * Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.
TrafficType
= CAMPAIGN
, you must submit a service quota increase
+ * request. For more information, see Amazon Connect Service Quotas
+ * in the Amazon Connect Administrator Guide.
* Initiates a contact flow to start a new task.
+ *Initiates a contact flow to start a new task immediately or at a future date and + * time.
*/ public startTaskContact( args: StartTaskContactCommandInput, @@ -3497,8 +3588,8 @@ export class Connect extends ConnectClient { /** *Adds the specified tags to the specified resource.
- *The supported resource types are users, routing profiles, queues, quick connects, - * contact flows, agent status, and hours of operation.
+ *The supported resource types are users, routing profiles, queues, quick connects, contact + * flows, agent status, and hours of operation.
*For sample policies that use tags, see Amazon Connect Identity-Based * Policy Examples in the Amazon Connect Administrator Guide.
*/ @@ -3590,6 +3681,44 @@ export class Connect extends ConnectClient { } } + /** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Adds or updates user defined contact information associated with the specified contact. At + * least one field to be updated must be present in the request.
+ *You can add or update user-defined contact information for both ongoing and completed + * contacts.
+ *Creates or updates * user-defined contact attributes @@ -3709,6 +3838,38 @@ export class Connect extends ConnectClient { } } + /** + *
Updates the scheduled time of a task contact that is already scheduled.
+ */ + public updateContactSchedule( + args: UpdateContactScheduleCommandInput, + options?: __HttpHandlerOptions + ): PromiseUpdates the hours of operation.
*/ diff --git a/clients/client-connect/src/ConnectClient.ts b/clients/client-connect/src/ConnectClient.ts index ea94233daf79..4c1d636d4df7 100644 --- a/clients/client-connect/src/ConnectClient.ts +++ b/clients/client-connect/src/ConnectClient.ts @@ -126,6 +126,7 @@ import { DescribeAgentStatusCommandInput, DescribeAgentStatusCommandOutput, } from "./commands/DescribeAgentStatusCommand"; +import { DescribeContactCommandInput, DescribeContactCommandOutput } from "./commands/DescribeContactCommand"; import { DescribeContactFlowCommandInput, DescribeContactFlowCommandOutput, @@ -208,6 +209,10 @@ import { } from "./commands/ListApprovedOriginsCommand"; import { ListBotsCommandInput, ListBotsCommandOutput } from "./commands/ListBotsCommand"; import { ListContactFlowsCommandInput, ListContactFlowsCommandOutput } from "./commands/ListContactFlowsCommand"; +import { + ListContactReferencesCommandInput, + ListContactReferencesCommandOutput, +} from "./commands/ListContactReferencesCommand"; import { ListHoursOfOperationsCommandInput, ListHoursOfOperationsCommandOutput, @@ -303,6 +308,7 @@ import { UpdateContactAttributesCommandInput, UpdateContactAttributesCommandOutput, } from "./commands/UpdateContactAttributesCommand"; +import { UpdateContactCommandInput, UpdateContactCommandOutput } from "./commands/UpdateContactCommand"; import { UpdateContactFlowContentCommandInput, UpdateContactFlowContentCommandOutput, @@ -311,6 +317,10 @@ import { UpdateContactFlowNameCommandInput, UpdateContactFlowNameCommandOutput, } from "./commands/UpdateContactFlowNameCommand"; +import { + UpdateContactScheduleCommandInput, + UpdateContactScheduleCommandOutput, +} from "./commands/UpdateContactScheduleCommand"; import { UpdateHoursOfOperationCommandInput, UpdateHoursOfOperationCommandOutput, @@ -425,6 +435,7 @@ export type ServiceInputTypes = | DeleteUserCommandInput | DeleteUserHierarchyGroupCommandInput | DescribeAgentStatusCommandInput + | DescribeContactCommandInput | DescribeContactFlowCommandInput | DescribeHoursOfOperationCommandInput | DescribeInstanceAttributeCommandInput @@ -453,6 +464,7 @@ export type ServiceInputTypes = | ListApprovedOriginsCommandInput | ListBotsCommandInput | ListContactFlowsCommandInput + | ListContactReferencesCommandInput | ListHoursOfOperationsCommandInput | ListInstanceAttributesCommandInput | ListInstanceStorageConfigsCommandInput @@ -488,8 +500,10 @@ export type ServiceInputTypes = | UntagResourceCommandInput | UpdateAgentStatusCommandInput | UpdateContactAttributesCommandInput + | UpdateContactCommandInput | UpdateContactFlowContentCommandInput | UpdateContactFlowNameCommandInput + | UpdateContactScheduleCommandInput | UpdateHoursOfOperationCommandInput | UpdateInstanceAttributeCommandInput | UpdateInstanceStorageConfigCommandInput @@ -543,6 +557,7 @@ export type ServiceOutputTypes = | DeleteUserCommandOutput | DeleteUserHierarchyGroupCommandOutput | DescribeAgentStatusCommandOutput + | DescribeContactCommandOutput | DescribeContactFlowCommandOutput | DescribeHoursOfOperationCommandOutput | DescribeInstanceAttributeCommandOutput @@ -571,6 +586,7 @@ export type ServiceOutputTypes = | ListApprovedOriginsCommandOutput | ListBotsCommandOutput | ListContactFlowsCommandOutput + | ListContactReferencesCommandOutput | ListHoursOfOperationsCommandOutput | ListInstanceAttributesCommandOutput | ListInstanceStorageConfigsCommandOutput @@ -606,8 +622,10 @@ export type ServiceOutputTypes = | UntagResourceCommandOutput | UpdateAgentStatusCommandOutput | UpdateContactAttributesCommandOutput + | UpdateContactCommandOutput | UpdateContactFlowContentCommandOutput | UpdateContactFlowNameCommandOutput + | UpdateContactScheduleCommandOutput | UpdateHoursOfOperationCommandOutput | UpdateInstanceAttributeCommandOutput | UpdateInstanceStorageConfigCommandOutput @@ -790,7 +808,7 @@ export interface ConnectClientResolvedConfig extends ConnectClientResolvedConfig * Service Quotas in the Amazon Connect Administrator Guide. *You can * connect - * programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see + * programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see * Amazon Connect * Endpoints.
*Creates an Amazon Web Services resource association with an Amazon Connect instance.
+ *Creates an AWS 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/DeleteIntegrationAssociationCommand.ts b/clients/client-connect/src/commands/DeleteIntegrationAssociationCommand.ts index 0001ef05059e..61ad8bd04595 100644 --- a/clients/client-connect/src/commands/DeleteIntegrationAssociationCommand.ts +++ b/clients/client-connect/src/commands/DeleteIntegrationAssociationCommand.ts @@ -22,7 +22,7 @@ export interface DeleteIntegrationAssociationCommandInput extends DeleteIntegrat export interface DeleteIntegrationAssociationCommandOutput extends __MetadataBearer {} /** - *Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have + *
Deletes an AWS 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/DescribeContactCommand.ts b/clients/client-connect/src/commands/DescribeContactCommand.ts new file mode 100644 index 000000000000..ec3e21b69716 --- /dev/null +++ b/clients/client-connect/src/commands/DescribeContactCommand.ts @@ -0,0 +1,99 @@ +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 { DescribeContactRequest, DescribeContactResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeContactCommand, + serializeAws_restJson1DescribeContactCommand, +} from "../protocols/Aws_restJson1"; + +export interface DescribeContactCommandInput extends DescribeContactRequest {} +export interface DescribeContactCommandOutput extends DescribeContactResponse, __MetadataBearer {} + +/** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Describes the specified contact.
+ *Contact information is available in Amazon Connect for 24 months, and then it is deleted.
+ *This API is in preview release for Amazon Connect and is subject to change.
- *For the specified version of Amazon Lex, returns a paginated list of all the Amazon Lex bots currently associated with the - * instance.
+ *For the specified version of Amazon Lex, returns a paginated list of all the Amazon Lex bots currently + * associated with the 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/ListContactReferencesCommand.ts b/clients/client-connect/src/commands/ListContactReferencesCommand.ts new file mode 100644 index 000000000000..c700e85a6859 --- /dev/null +++ b/clients/client-connect/src/commands/ListContactReferencesCommand.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 { ListContactReferencesRequest, ListContactReferencesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListContactReferencesCommand, + serializeAws_restJson1ListContactReferencesCommand, +} from "../protocols/Aws_restJson1"; + +export interface ListContactReferencesCommandInput extends ListContactReferencesRequest {} +export interface ListContactReferencesCommandOutput extends ListContactReferencesResponse, __MetadataBearer {} + +/** + *This API is in preview release for Amazon Connect and is subject to change.
+ *For the specified referenceTypes
, returns a list of references associated with
+ * the contact.
Provides summary information about the Amazon Web Services resource associations for the specified Amazon Connect + *
Provides summary information about the AWS 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/ListSecurityProfilesCommand.ts b/clients/client-connect/src/commands/ListSecurityProfilesCommand.ts index 2dfe6db0e51e..f07730c3db47 100644 --- a/clients/client-connect/src/commands/ListSecurityProfilesCommand.ts +++ b/clients/client-connect/src/commands/ListSecurityProfilesCommand.ts @@ -22,8 +22,7 @@ export interface ListSecurityProfilesCommandInput extends ListSecurityProfilesRe export interface ListSecurityProfilesCommandOutput extends ListSecurityProfilesResponse, __MetadataBearer {} /** - *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 + *
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 index 5b5ac9c46134..16e22efaeac7 100644 --- a/clients/client-connect/src/commands/StartContactStreamingCommand.ts +++ b/clients/client-connect/src/commands/StartContactStreamingCommand.ts @@ -24,7 +24,7 @@ export interface StartContactStreamingCommandOutput extends StartContactStreamin /** *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.
+ * streaming in the Amazon Connect Administrator Guide. * @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/StartOutboundVoiceContactCommand.ts b/clients/client-connect/src/commands/StartOutboundVoiceContactCommand.ts index 19ee523292e5..1a4fffb45c33 100644 --- a/clients/client-connect/src/commands/StartOutboundVoiceContactCommand.ts +++ b/clients/client-connect/src/commands/StartOutboundVoiceContactCommand.ts @@ -38,8 +38,9 @@ export interface StartOutboundVoiceContactCommandOutput extends StartOutboundVoi *Campaign calls are not allowed by default. Before you can make a call with
- * TrafficType
= CAMPAIGN
, you must submit a service quota increase request. For more information, see
- * Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.
TrafficType
= CAMPAIGN
, you must submit a service quota increase
+ * request. For more information, see Amazon Connect Service Quotas
+ * in the Amazon Connect Administrator Guide.
* Initiates a contact flow to start a new task.
+ *Initiates a contact flow to start a new task immediately or at a future date and + * time.
* @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/TagResourceCommand.ts b/clients/client-connect/src/commands/TagResourceCommand.ts index 4e72e8b00a2b..6c7ad52745b1 100644 --- a/clients/client-connect/src/commands/TagResourceCommand.ts +++ b/clients/client-connect/src/commands/TagResourceCommand.ts @@ -23,8 +23,8 @@ export interface TagResourceCommandOutput extends __MetadataBearer {} /** *Adds the specified tags to the specified resource.
- *The supported resource types are users, routing profiles, queues, quick connects, - * contact flows, agent status, and hours of operation.
+ *The supported resource types are users, routing profiles, queues, quick connects, contact + * flows, agent status, and hours of operation.
*For sample policies that use tags, see Amazon Connect Identity-Based * Policy Examples in the Amazon Connect Administrator Guide.
* @example diff --git a/clients/client-connect/src/commands/UpdateContactCommand.ts b/clients/client-connect/src/commands/UpdateContactCommand.ts new file mode 100644 index 000000000000..775eee20324e --- /dev/null +++ b/clients/client-connect/src/commands/UpdateContactCommand.ts @@ -0,0 +1,101 @@ +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 { UpdateContactRequest, UpdateContactResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateContactCommand, + serializeAws_restJson1UpdateContactCommand, +} from "../protocols/Aws_restJson1"; + +export interface UpdateContactCommandInput extends UpdateContactRequest {} +export interface UpdateContactCommandOutput extends UpdateContactResponse, __MetadataBearer {} + +/** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Adds or updates user defined contact information associated with the specified contact. At + * least one field to be updated must be present in the request.
+ *You can add or update user-defined contact information for both ongoing and completed + * contacts.
+ *Updates the scheduled time of a task contact that is already scheduled.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, UpdateContactScheduleCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, UpdateContactScheduleCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const command = new UpdateContactScheduleCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateContactScheduleCommandInput} for command's `input` shape. + * @see {@link UpdateContactScheduleCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + */ +export class UpdateContactScheduleCommand extends $Command< + UpdateContactScheduleCommandInput, + UpdateContactScheduleCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateContactScheduleCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackInformation about the agent who accepted the contact.
+ */ +export interface AgentInfo { + /** + *The identifier of the agent who accepted the contact.
+ */ + Id?: string; + + /** + *The timestamp when the contact was connected to the agent.
+ */ + ConnectedToAgentTimestamp?: Date; +} + +export namespace AgentInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AgentInfo): any => ({ + ...obj, + }); +} + export enum AgentStatusState { DISABLED = "DISABLED", ENABLED = "ENABLED", @@ -70,7 +94,7 @@ export interface AgentStatus { State?: AgentStatusState | string; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -823,7 +847,7 @@ export interface CreateAgentStatusRequest { DisplayOrder?: number; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -1081,7 +1105,7 @@ export interface CreateHoursOfOperationRequest { Config: HoursOfOperationConfig[] | undefined; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -1230,7 +1254,7 @@ export interface CreateIntegrationAssociationRequest { SourceType?: SourceType | string; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -1331,7 +1355,7 @@ export interface CreateQueueRequest { QuickConnectIds?: string[]; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -1498,7 +1522,7 @@ export interface CreateQuickConnectRequest { QuickConnectConfig: QuickConnectConfig | undefined; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -1519,8 +1543,7 @@ export interface CreateQuickConnectResponse { QuickConnectARN?: string; /** - *The identifier for the quick connect. - *
+ *The identifier for the quick connect.
*/ QuickConnectId?: string; } @@ -1653,7 +1676,7 @@ export interface CreateSecurityProfileRequest { InstanceId: string | undefined; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -1711,7 +1734,7 @@ export interface CreateUseCaseRequest { UseCaseType: UseCaseType | string | undefined; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -2198,6 +2221,163 @@ export namespace DescribeAgentStatusResponse { }); } +export interface DescribeContactRequest { + /** + *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 initial contact.
+ */ + ContactId: string | undefined; +} + +export namespace DescribeContactRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeContactRequest): any => ({ + ...obj, + }); +} + +export enum ContactInitiationMethod { + API = "API", + CALLBACK = "CALLBACK", + INBOUND = "INBOUND", + OUTBOUND = "OUTBOUND", + QUEUE_TRANSFER = "QUEUE_TRANSFER", + TRANSFER = "TRANSFER", +} + +/** + *If this contact was queued, this contains information about the queue.
+ */ +export interface QueueInfo { + /** + *The identifier of the agent who accepted the contact.
+ */ + Id?: string; + + /** + *The timestamp when the contact was added to the queue.
+ */ + EnqueueTimestamp?: Date; +} + +export namespace QueueInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: QueueInfo): any => ({ + ...obj, + }); +} + +/** + *Contains information about a contact.
+ */ +export interface Contact { + /** + *The Amazon Resource Name (ARN) for the contact.
+ */ + Arn?: string; + + /** + *The identifier for the contact.
+ */ + Id?: string; + + /** + *If this contact is related to other contacts, this is the ID of the initial contact.
+ */ + InitialContactId?: string; + + /** + *If this contact is not the first contact, this is the ID of the previous contact.
+ */ + PreviousContactId?: string; + + /** + *Indicates how the contact was initiated.
+ */ + InitiationMethod?: ContactInitiationMethod | string; + + /** + *The name of the contact.
+ */ + Name?: string; + + /** + *The description of the contact.
+ */ + Description?: string; + + /** + *How the contact reached your contact center.
+ */ + Channel?: Channel | string; + + /** + *If this contact was queued, this contains information about the queue.
+ */ + QueueInfo?: QueueInfo; + + /** + *Information about the agent who accepted the contact.
+ */ + AgentInfo?: AgentInfo; + + /** + *The date and time this contact was initiated, in UTC time. For INBOUND
, this is when the
+ * contact arrived. For OUTBOUND
, this is when the agent began dialing. For CALLBACK
, this is when
+ * the callback contact was created. For TRANSFER
and QUEUE_TRANSFER
, this is when the transfer was
+ * initiated. For API
, this is when the request arrived.
The timestamp when the customer endpoint disconnected from Amazon Connect.
+ */ + DisconnectTimestamp?: Date; + + /** + *The timestamp when contact was last updated.
+ */ + LastUpdateTimestamp?: Date; + + /** + *The timestamp, in Unix epoch time format, at which to start running the inbound flow.
+ */ + ScheduledTimestamp?: Date; +} + +export namespace Contact { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Contact): any => ({ + ...obj, + }); +} + +export interface DescribeContactResponse { + /** + *Information about the contact.
+ */ + Contact?: Contact; +} + +export namespace DescribeContactResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeContactResponse): any => ({ + ...obj, + }); +} + /** *The contact flow has not been published.
*/ @@ -2359,7 +2539,7 @@ export interface HoursOfOperation { Config?: HoursOfOperationConfig[]; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -2700,7 +2880,7 @@ export interface Queue { Status?: QueueStatus | string; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -2781,7 +2961,7 @@ export interface QuickConnect { QuickConnectConfig?: QuickConnectConfig; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -2954,7 +3134,7 @@ export interface SecurityProfile { Description?: string; /** - *The tags used to organize, track, or control access for this resource.
+ *One or more tags.
*/ Tags?: { [key: string]: string }; } @@ -3733,11 +3913,11 @@ export interface GetCurrentMetricDataRequest { *Unit: SECONDS
*When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.
- *When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For - * example, if you get a response like this:
+ *When you do not use groupings, Unit says SECONDS but the Value is returned in + * MILLISECONDS. For example, if you get a response like this:
*
* { "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0
- *
}
The actual OLDEST_CONTACT_AGE is 24 seconds.
* *Name in real-time metrics report: Oldest @@ -4643,6 +4823,187 @@ export namespace ListContactFlowsResponse { }); } +export enum ReferenceType { + ATTACHMENT = "ATTACHMENT", + URL = "URL", +} + +export interface ListContactReferencesRequest { + /** + *
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 initial contact.
+ */ + ContactId: string | undefined; + + /** + *The type of reference.
+ */ + ReferenceTypes: (ReferenceType | 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.
+ *This is not expected to be set since the value returned in the previous response is always + * null.
+ *Information about the attachment reference if the referenceType
is ATTACHMENT
. Otherwise, null.
Identifier of the attachment reference.
+ */ + Name?: string; + + /** + *Contains the location path of the attachment reference.
+ */ + Value?: string; + + /** + *Status of an attachment reference type.
+ */ + Status?: ReferenceStatus | string; +} + +export namespace AttachmentReference { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AttachmentReference): any => ({ + ...obj, + }); +} + +/** + *The URL reference.
+ */ +export interface UrlReference { + /** + *Identifier of the URL reference.
+ */ + Name?: string; + + /** + *A valid URL.
+ */ + Value?: string; +} + +export namespace UrlReference { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UrlReference): any => ({ + ...obj, + }); +} + +/** + *Contains summary information about a reference. ReferenceSummary
contains only one non null field between the URL and attachment based on the reference type.
Information about Url reference if the referenceType
is URL
. Otherwise, null.
Information about the attachment reference if the referenceType
is ATTACHMENT
. Otherwise, null.
Information about the contact flows.
+ */ + ReferenceSummaryList?: ReferenceSummary[]; + + /** + *If there are additional results, this is the token for the next set of results.
+ *This is always returned as null in the response.
+ *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
@@ -4934,7 +5295,7 @@ export interface ListIntegrationAssociationsRequest { InstanceId: string | undefined; /** - *The type of integration.
+ * */ IntegrationType?: IntegrationType | string; @@ -5063,7 +5424,7 @@ export namespace ListLambdaFunctionsRequest { export interface ListLambdaFunctionsResponse { /** - *The Lambda function ARNs associated with the specified instance.
+ *The Lambdafunction ARNs associated with the specified instance.
*/ LambdaFunctions?: string[]; @@ -5095,7 +5456,8 @@ export interface ListLexBotsRequest { NextToken?: string; /** - *The maximum number of results to return per page. If no value is specified, the default is 10.
+ *The maximum number of results to return per page. If no value is specified, the default is 10. + *
*/ MaxResults?: number; } @@ -6850,8 +7212,8 @@ export interface StartOutboundVoiceContactRequest { /** *Denotes the class of traffic. Calls with different traffic types are handled differently by
* Amazon Connect. The default value is GENERAL
. Use CAMPAIGN
if
- * EnableAnswerMachineDetection
is set to true
. For all other cases, use
- * GENERAL
.
EnableAnswerMachineDetection
is set to true
. For all other cases, use
+ * GENERAL
.
*/
TrafficType?: TrafficType | string;
}
@@ -6881,23 +7243,18 @@ export namespace StartOutboundVoiceContactResponse {
});
}
-export enum ReferenceType {
- URL = "URL",
-}
-
/**
* A link that an agent selects to complete a given task. You can have up to 4,096 UTF-8 bytes * across all references for a contact.
*/ export interface Reference { /** - *A formatted URL that displays to an agent in the Contact Control Panel (CCP)
+ *A valid value for the reference. For example, for a URL reference, a formatted URL that is displayed to an agent in the Contact Control Panel (CCP).
*/ Value: string | undefined; /** - *A valid - * URL.
+ *The type of the reference. Only URL
type can be added or updated on a contact.
The timestamp, in Unix Epoch seconds format, at which to start running the inbound contact flow. The scheduled time cannot be in the past. It must be within up to 6 days in future.
+ */ + ScheduledTime?: Date; } export namespace StartTaskContactRequest { @@ -7244,10 +7606,58 @@ export namespace UpdateAgentStatusRequest { }); } -export interface UpdateContactAttributesRequest { +export interface UpdateContactRequest { /** - *The identifier of the contact. This is the identifier of the contact associated with the - * first interaction with the contact center.
+ *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 your contact center.
+ */ + ContactId: string | undefined; + + /** + *The name of the contact.
+ */ + Name?: string; + + /** + *The description of the contact.
+ */ + Description?: string; + + /** + *A formatted URL that is shown to an agent in the Contact Control Panel (CCP).
+ */ + References?: { [key: string]: Reference }; +} + +export namespace UpdateContactRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateContactRequest): any => ({ + ...obj, + }); +} + +export interface UpdateContactResponse {} + +export namespace UpdateContactResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateContactResponse): any => ({ + ...obj, + }); +} + +export interface UpdateContactAttributesRequest { + /** + *The identifier of the contact. This is the identifier of the contact associated with the + * first interaction with the contact center.
*/ InitialContactId: string | undefined; @@ -7344,6 +7754,43 @@ export namespace UpdateContactFlowNameRequest { }); } +export interface UpdateContactScheduleRequest { + /** + *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.
+ */ + ContactId: string | undefined; + + /** + *The timestamp, in Unix Epoch seconds format, at which to start running the inbound contact flow. The scheduled time cannot be in the past. It must be within up to 6 days in future.
+ */ + ScheduledTime: Date | undefined; +} + +export namespace UpdateContactScheduleRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateContactScheduleRequest): any => ({ + ...obj, + }); +} + +export interface UpdateContactScheduleResponse {} + +export namespace UpdateContactScheduleResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateContactScheduleResponse): any => ({ + ...obj, + }); +} + export interface UpdateHoursOfOperationRequest { /** *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
@@ -7394,7 +7841,8 @@ export interface UpdateInstanceAttributeRequest { /** *The type of attribute.
*Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact Amazon Web Services Support for allowlisting.
+ *Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, + * contact AWS Support for allowlisting.
*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 queue.
- */ - QueueId: string | undefined; - - /** - *The name of the queue.
- */ - Name?: string; - - /** - *The description of the queue.
- */ - Description?: string; -} - -export namespace UpdateQueueNameRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateQueueNameRequest): any => ({ - ...obj, - }); -} - -export interface UpdateQueueOutboundCallerConfigRequest { - /** - *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 queue.
- */ - QueueId: string | undefined; - - /** - *The outbound caller ID name, number, and outbound whisper flow.
- */ - OutboundCallerConfig: OutboundCallerConfig | undefined; -} - -export namespace UpdateQueueOutboundCallerConfigRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateQueueOutboundCallerConfigRequest): any => ({ - ...obj, - }); -} - -export interface UpdateQueueStatusRequest { - /** - *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 queue.
- */ - QueueId: string | undefined; - - /** - *The status of the queue.
- */ - Status: QueueStatus | string | undefined; -} - -export namespace UpdateQueueStatusRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateQueueStatusRequest): any => ({ - ...obj, - }); -} - -export interface UpdateQuickConnectConfigRequest { - /** - *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 quick connect.
- */ - QuickConnectId: string | undefined; - - /** - *Information about the configuration settings for the quick connect.
- */ - QuickConnectConfig: QuickConnectConfig | undefined; -} - -export namespace UpdateQuickConnectConfigRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateQuickConnectConfigRequest): any => ({ - ...obj, - }); -} - -export interface UpdateQuickConnectNameRequest { - /** - *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 quick connect.
- */ - QuickConnectId: string | undefined; - - /** - *The name of the quick connect.
- */ - Name?: string; - - /** - *The description of the quick connect.
- */ - Description?: string; -} - -export namespace UpdateQuickConnectNameRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateQuickConnectNameRequest): any => ({ - ...obj, - }); -} - -export interface UpdateRoutingProfileConcurrencyRequest { - /** - *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 routing profile.
- */ - RoutingProfileId: string | undefined; - - /** - *The channels that agents can handle in the Contact Control Panel (CCP).
- */ - MediaConcurrencies: MediaConcurrency[] | undefined; -} - -export namespace UpdateRoutingProfileConcurrencyRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateRoutingProfileConcurrencyRequest): any => ({ - ...obj, - }); -} - -export interface UpdateRoutingProfileDefaultOutboundQueueRequest { - /** - *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 routing profile.
- */ - RoutingProfileId: string | undefined; - - /** - *The identifier for the default outbound queue.
- */ - DefaultOutboundQueueId: string | undefined; -} - -export namespace UpdateRoutingProfileDefaultOutboundQueueRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateRoutingProfileDefaultOutboundQueueRequest): any => ({ - ...obj, - }); -} - -export interface UpdateRoutingProfileNameRequest { - /** - *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 routing profile.
- */ - RoutingProfileId: string | undefined; - - /** - *The name of the routing profile. Must not be more than 127 characters.
- */ - Name?: string; - - /** - *The description of the routing profile. Must not be more than 250 characters.
- */ - Description?: string; -} - -export namespace UpdateRoutingProfileNameRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateRoutingProfileNameRequest): any => ({ - ...obj, - }); -} - -export interface UpdateRoutingProfileQueuesRequest { - /** - *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 routing profile.
- */ - RoutingProfileId: string | undefined; - - /** - *The queues to be updated for this routing profile. - * Queues must first be associated to the routing - * profile. You can do this using AssociateRoutingProfileQueues.
- */ - QueueConfigs: RoutingProfileQueueConfig[] | undefined; -} - -export namespace UpdateRoutingProfileQueuesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateRoutingProfileQueuesRequest): any => ({ - ...obj, - }); -} - -export interface UpdateSecurityProfileRequest { - /** - *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.
- */ - HierarchyGroupId?: string; - - /** - *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 UpdateUserHierarchyRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateUserHierarchyRequest): any => ({ - ...obj, - }); -} - -export interface UpdateUserHierarchyGroupNameRequest { - /** - *The name of the hierarchy group. Must not be more than 100 characters.
- */ - Name: string | undefined; - - /** - *The identifier of the hierarchy group.
- */ - HierarchyGroupId: 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 UpdateUserHierarchyGroupNameRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateUserHierarchyGroupNameRequest): any => ({ - ...obj, - }); -} - -/** - *Contains information about the hierarchy level to update.
- */ -export interface HierarchyLevelUpdate { - /** - *The name of the user hierarchy level. Must not be more than 50 characters.
- */ - Name: string | undefined; -} - -export namespace HierarchyLevelUpdate { - /** - * @internal - */ - export const filterSensitiveLog = (obj: HierarchyLevelUpdate): any => ({ - ...obj, - }); -} - -/** - *Contains information about the level hierarchy to update.
- */ -export interface HierarchyStructureUpdate { - /** - *The - * update - * for level one.
- */ - LevelOne?: HierarchyLevelUpdate; - - /** - *The update for level two.
- */ - LevelTwo?: HierarchyLevelUpdate; - - /** - *The update for level three.
- */ - LevelThree?: HierarchyLevelUpdate; - - /** - *The update for level four.
- */ - LevelFour?: HierarchyLevelUpdate; - - /** - *The update for level five.
- */ - LevelFive?: HierarchyLevelUpdate; -} - -export namespace HierarchyStructureUpdate { - /** - * @internal - */ - export const filterSensitiveLog = (obj: HierarchyStructureUpdate): any => ({ - ...obj, - }); -} - -export interface UpdateUserHierarchyStructureRequest { - /** - *The hierarchy levels to update.
- */ - HierarchyStructure: HierarchyStructureUpdate | undefined; - - /** - *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
- */ - InstanceId: string | undefined; -} - -export namespace UpdateUserHierarchyStructureRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateUserHierarchyStructureRequest): any => ({ - ...obj, - }); -} - -export interface UpdateUserIdentityInfoRequest { - /** - *The identity information for the user.
- */ - IdentityInfo: UserIdentityInfo | 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 UpdateUserIdentityInfoRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateUserIdentityInfoRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-connect/src/models/models_1.ts b/clients/client-connect/src/models/models_1.ts index 86a3d5522d3c..685d4d778657 100644 --- a/clients/client-connect/src/models/models_1.ts +++ b/clients/client-connect/src/models/models_1.ts @@ -1,4 +1,453 @@ -import { UserPhoneConfig } from "./models_0"; +import { + MediaConcurrency, + OutboundCallerConfig, + QueueStatus, + QuickConnectConfig, + RoutingProfileQueueConfig, + UserIdentityInfo, + UserPhoneConfig, +} from "./models_0"; + +export interface UpdateQueueNameRequest { + /** + *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 queue.
+ */ + QueueId: string | undefined; + + /** + *The name of the queue.
+ */ + Name?: string; + + /** + *The description of the queue.
+ */ + Description?: string; +} + +export namespace UpdateQueueNameRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateQueueNameRequest): any => ({ + ...obj, + }); +} + +export interface UpdateQueueOutboundCallerConfigRequest { + /** + *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 queue.
+ */ + QueueId: string | undefined; + + /** + *The outbound caller ID name, number, and outbound whisper flow.
+ */ + OutboundCallerConfig: OutboundCallerConfig | undefined; +} + +export namespace UpdateQueueOutboundCallerConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateQueueOutboundCallerConfigRequest): any => ({ + ...obj, + }); +} + +export interface UpdateQueueStatusRequest { + /** + *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 queue.
+ */ + QueueId: string | undefined; + + /** + *The status of the queue.
+ */ + Status: QueueStatus | string | undefined; +} + +export namespace UpdateQueueStatusRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateQueueStatusRequest): any => ({ + ...obj, + }); +} + +export interface UpdateQuickConnectConfigRequest { + /** + *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 quick connect.
+ */ + QuickConnectId: string | undefined; + + /** + *Information about the configuration settings for the quick connect.
+ */ + QuickConnectConfig: QuickConnectConfig | undefined; +} + +export namespace UpdateQuickConnectConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateQuickConnectConfigRequest): any => ({ + ...obj, + }); +} + +export interface UpdateQuickConnectNameRequest { + /** + *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 quick connect.
+ */ + QuickConnectId: string | undefined; + + /** + *The name of the quick connect.
+ */ + Name?: string; + + /** + *The description of the quick connect.
+ */ + Description?: string; +} + +export namespace UpdateQuickConnectNameRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateQuickConnectNameRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRoutingProfileConcurrencyRequest { + /** + *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 routing profile.
+ */ + RoutingProfileId: string | undefined; + + /** + *The channels that agents can handle in the Contact Control Panel (CCP).
+ */ + MediaConcurrencies: MediaConcurrency[] | undefined; +} + +export namespace UpdateRoutingProfileConcurrencyRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateRoutingProfileConcurrencyRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRoutingProfileDefaultOutboundQueueRequest { + /** + *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 routing profile.
+ */ + RoutingProfileId: string | undefined; + + /** + *The identifier for the default outbound queue.
+ */ + DefaultOutboundQueueId: string | undefined; +} + +export namespace UpdateRoutingProfileDefaultOutboundQueueRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateRoutingProfileDefaultOutboundQueueRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRoutingProfileNameRequest { + /** + *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 routing profile.
+ */ + RoutingProfileId: string | undefined; + + /** + *The name of the routing profile. Must not be more than 127 characters.
+ */ + Name?: string; + + /** + *The description of the routing profile. Must not be more than 250 characters.
+ */ + Description?: string; +} + +export namespace UpdateRoutingProfileNameRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateRoutingProfileNameRequest): any => ({ + ...obj, + }); +} + +export interface UpdateRoutingProfileQueuesRequest { + /** + *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 routing profile.
+ */ + RoutingProfileId: string | undefined; + + /** + *The queues to be updated for this routing profile. + * Queues must first be associated to the routing + * profile. You can do this using AssociateRoutingProfileQueues.
+ */ + QueueConfigs: RoutingProfileQueueConfig[] | undefined; +} + +export namespace UpdateRoutingProfileQueuesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateRoutingProfileQueuesRequest): any => ({ + ...obj, + }); +} + +export interface UpdateSecurityProfileRequest { + /** + *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.
+ */ + HierarchyGroupId?: string; + + /** + *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 UpdateUserHierarchyRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserHierarchyRequest): any => ({ + ...obj, + }); +} + +export interface UpdateUserHierarchyGroupNameRequest { + /** + *The name of the hierarchy group. Must not be more than 100 characters.
+ */ + Name: string | undefined; + + /** + *The identifier of the hierarchy group.
+ */ + HierarchyGroupId: 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 UpdateUserHierarchyGroupNameRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserHierarchyGroupNameRequest): any => ({ + ...obj, + }); +} + +/** + *Contains information about the hierarchy level to update.
+ */ +export interface HierarchyLevelUpdate { + /** + *The name of the user hierarchy level. Must not be more than 50 characters.
+ */ + Name: string | undefined; +} + +export namespace HierarchyLevelUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: HierarchyLevelUpdate): any => ({ + ...obj, + }); +} + +/** + *Contains information about the level hierarchy to update.
+ */ +export interface HierarchyStructureUpdate { + /** + *The + * update + * for level one.
+ */ + LevelOne?: HierarchyLevelUpdate; + + /** + *The update for level two.
+ */ + LevelTwo?: HierarchyLevelUpdate; + + /** + *The update for level three.
+ */ + LevelThree?: HierarchyLevelUpdate; + + /** + *The update for level four.
+ */ + LevelFour?: HierarchyLevelUpdate; + + /** + *The update for level five.
+ */ + LevelFive?: HierarchyLevelUpdate; +} + +export namespace HierarchyStructureUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: HierarchyStructureUpdate): any => ({ + ...obj, + }); +} + +export interface UpdateUserHierarchyStructureRequest { + /** + *The hierarchy levels to update.
+ */ + HierarchyStructure: HierarchyStructureUpdate | undefined; + + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; +} + +export namespace UpdateUserHierarchyStructureRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserHierarchyStructureRequest): any => ({ + ...obj, + }); +} + +export interface UpdateUserIdentityInfoRequest { + /** + *The identity information for the user.
+ */ + IdentityInfo: UserIdentityInfo | 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 UpdateUserIdentityInfoRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserIdentityInfoRequest): any => ({ + ...obj, + }); +} export interface UpdateUserPhoneConfigRequest { /** diff --git a/clients/client-connect/src/pagination/ListContactReferencesPaginator.ts b/clients/client-connect/src/pagination/ListContactReferencesPaginator.ts new file mode 100644 index 000000000000..0fcb84d6c245 --- /dev/null +++ b/clients/client-connect/src/pagination/ListContactReferencesPaginator.ts @@ -0,0 +1,58 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListContactReferencesCommand, + ListContactReferencesCommandInput, + ListContactReferencesCommandOutput, +} from "../commands/ListContactReferencesCommand"; +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListContactReferencesCommandInput, + ...args: any +): PromiseReturns the task assessment results from the Amazon S3 bucket that DMS creates in your - * Amazon Web Services account. This action always returns the - * latest results.
- *For more information about DMS task assessments, see - * Creating a task assessment report - * in the - * Database Migration Service User Guide.
+ * Amazon Web Services account. This action always returns the latest results. + *For more information about DMS task assessments, see Creating a task assessment + * report in the Database Migration Service User Guide.
*/ public describeReplicationTaskAssessmentResults( args: DescribeReplicationTaskAssessmentResultsCommandInput, diff --git a/clients/client-database-migration-service/src/commands/DescribeReplicationTaskAssessmentResultsCommand.ts b/clients/client-database-migration-service/src/commands/DescribeReplicationTaskAssessmentResultsCommand.ts index 1f692a860020..9724580261e5 100644 --- a/clients/client-database-migration-service/src/commands/DescribeReplicationTaskAssessmentResultsCommand.ts +++ b/clients/client-database-migration-service/src/commands/DescribeReplicationTaskAssessmentResultsCommand.ts @@ -33,12 +33,9 @@ export interface DescribeReplicationTaskAssessmentResultsCommandOutput /** *Returns the task assessment results from the Amazon S3 bucket that DMS creates in your - * Amazon Web Services account. This action always returns the - * latest results.
- *For more information about DMS task assessments, see - * Creating a task assessment report - * in the - * Database Migration Service User Guide.
+ * Amazon Web Services account. This action always returns the latest results. + *For more information about DMS task assessments, see Creating a task assessment + * report in the Database Migration Service User Guide.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-database-migration-service/src/models/models_0.ts b/clients/client-database-migration-service/src/models/models_0.ts index ddadcbb05834..69e303d28ddc 100644 --- a/clients/client-database-migration-service/src/models/models_0.ts +++ b/clients/client-database-migration-service/src/models/models_0.ts @@ -682,7 +682,7 @@ export namespace DynamoDbSettings { } /** - *Provides information that defines an Elasticsearch endpoint.
+ *Provides information that defines an OpenSearch endpoint.
*/ export interface ElasticsearchSettings { /** @@ -692,7 +692,7 @@ export interface ElasticsearchSettings { ServiceAccessRoleArn: string | undefined; /** - *The endpoint for the Elasticsearch cluster. DMS uses HTTPS if a transport + *
The endpoint for the OpenSearch cluster. DMS uses HTTPS if a transport * protocol (http/https) is not specified.
*/ EndpointUri: string | undefined; @@ -701,7 +701,7 @@ export interface ElasticsearchSettings { *The maximum percentage of records that can fail to be written before a full load * operation stops.
*To avoid early failure, this counter is only effective after 1000 records - * are transferred. Elasticsearch also has the concept of error monitoring during the + * are transferred. OpenSearch also has the concept of error monitoring during the * last 10 minutes of an Observation Window. If transfer of all records fail in the * last 10 minutes, the full load operation stops.
*/ @@ -709,7 +709,7 @@ export interface ElasticsearchSettings { /** *The maximum number of seconds for which DMS retries failed API requests to the - * Elasticsearch cluster.
+ * OpenSearch cluster. */ ErrorRetryDuration?: number; } @@ -728,6 +728,139 @@ export enum ReplicationEndpointTypeValue { TARGET = "target", } +export enum TargetDbType { + MULTIPLE_DATABASES = "multiple-databases", + SPECIFIC_DATABASE = "specific-database", +} + +/** + *Settings in JSON format for the source GCP MySQL endpoint.
+ */ +export interface GcpMySQLSettings { + /** + *Specifies a script to run immediately after DMS connects to the endpoint. + * The migration task continues running regardless if the SQL statement succeeds or fails.
+ * + *For this parameter, provide the code of the script itself, not the name of a file containing the script.
+ */ + AfterConnectScript?: string; + + /** + *Adjusts the behavior of DMS when migrating from an SQL Server source database
+ * that is hosted as part of an Always On availability group cluster. If you need DMS
+ * to poll all the nodes in the Always On cluster for transaction backups, set this attribute to false
.
Database name for the endpoint. For a MySQL source or target endpoint, don't explicitly specify
+ * the database using the DatabaseName
request parameter on either the CreateEndpoint
+ * or ModifyEndpoint
API call. Specifying DatabaseName
when you create or modify a
+ * MySQL endpoint replicates all the task tables to this single database. For MySQL endpoints, you specify
+ * the database only when you specify the schema in the table-mapping rules of the DMS task.
Specifies how often to check the binary log for new changes/events when the database is idle. The default is five seconds.
+ *Example: eventsPollInterval=5;
+ *
In the example, DMS checks for changes in the binary logs every five seconds.
+ */ + EventsPollInterval?: number; + + /** + *Specifies where to migrate source tables on the target, either to a single database or multiple databases.
+ *Example: targetDbType=MULTIPLE_DATABASES
+ *
Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible database.
+ *Example: maxFileSize=512
+ *
Improves performance when loading data into the MySQL-compatible target database. Specifies how many + * threads to use to load the data into the MySQL-compatible target database. Setting a large number of + * threads can have an adverse effect on database performance, because a separate connection is required + * for each thread. The default is one.
+ * + *Example: parallelLoadThreads=1
+ *
Endpoint connection password.
+ */ + Password?: string; + + /** + * + */ + Port?: number; + + /** + *Endpoint TCP port.
+ */ + ServerName?: string; + + /** + *Specifies the time zone for the source MySQL database.
+ * + *Example: serverTimezone=US/Pacific;
+ *
Note: Do not enclose time zones in single quotes.
+ */ + ServerTimezone?: string; + + /** + *Endpoint connection user name.
+ */ + Username?: string; + + /** + *The full Amazon Resource Name (ARN) of the IAM role that specifies DMS
+ * as the trusted entity and grants the required permissions to access the value in
+ * SecretsManagerSecret.
The role must allow the iam:PassRole
action.
+ * SecretsManagerSecret
has the value of the Amazon Web Services Secrets Manager secret
+ * that allows access to the MySQL endpoint.
You can specify one of two sets of values for these permissions. You can specify
+ * the values for this setting and SecretsManagerSecretId
. Or you can specify clear-text
+ * values for UserName
, Password
, ServerName
, and Port
.
+ * You can't specify both. For more information on creating this SecretsManagerSecret
+ * and the SecretsManagerAccessRoleArn
and SecretsManagerSecretId
required to
+ * access it, see Using secrets to access Database Migration Service resources in the
+ * Database Migration Service User Guide.
+ *
+ *
The full ARN, partial ARN, or friendly name of the SecretsManagerSecret
+ * that contains the MySQL endpoint connection details.
Provides information that defines an IBM Db2 LUW endpoint.
*/ @@ -1321,11 +1454,6 @@ export namespace MongoDbSettings { }); } -export enum TargetDbType { - MULTIPLE_DATABASES = "multiple-databases", - SPECIFIC_DATABASE = "specific-database", -} - /** *Provides information that defines a MySQL endpoint.
*/ @@ -1359,7 +1487,7 @@ export interface MySQLSettings { /** *Specifies how often to check the binary log for new - * changes/events when the database is idle.
+ * changes/events when the database is idle. The default is five seconds. *Example: eventsPollInterval=5;
*
In the example, DMS checks for changes in the binary @@ -1387,7 +1515,7 @@ export interface MySQLSettings { *
Improves performance when loading data into the MySQL-compatible target database. * Specifies how many threads to use to load the data into the MySQL-compatible target * database. Setting a large number of threads can have an adverse effect on database - * performance, because a separate connection is required for each thread.
+ * performance, because a separate connection is required for each thread. The default is one. *Example: parallelLoadThreads=1
*
Endpoint TCP port.
+ *Endpoint TCP port. The default is 5432.
*/ Port?: number; @@ -2905,6 +3033,17 @@ export interface S3Settings { */ CdcPath?: string; + /** + *When set to true, this parameter uses the task start time as the timestamp column value instead of
+ * the time data is written to target. For full load, when useTaskStartTimeForFullLoadTimestamp
+ * is set to true
, each row of the timestamp column contains the task start time. For CDC loads,
+ * each row of the timestamp column contains the transaction commit time.
When useTaskStartTimeForFullLoadTimestamp
is set to false
, the full load timestamp
+ * in the timestamp column increments with the time data arrives at the target.
A value that enables DMS to specify a predefined (canned) access control list for * objects created in an Amazon S3 bucket as .csv or .parquet files. For more information @@ -3025,7 +3164,7 @@ export interface SybaseSettings { Password?: string; /** - *
Endpoint TCP port.
+ *Endpoint TCP port. The default is 5000.
*/ Port?: number; @@ -3094,8 +3233,8 @@ export interface CreateEndpointMessage { /** *The type of engine for the endpoint. Valid values, depending on the
* EndpointType
value, include "mysql"
, "oracle"
,
- * "postgres"
, "mariadb"
, "aurora"
,
- * "aurora-postgresql"
, "redshift"
, "s3"
,
+ * "postgres"
, "mariadb"
, "aurora"
,
+ * "aurora-postgresql"
, "opensearch"
, "redshift"
, "s3"
,
* "db2"
, "azuredb"
, "sybase"
, "dynamodb"
, "mongodb"
,
* "kinesis"
, "kafka"
, "elasticsearch"
, "docdb"
,
* "sqlserver"
, and "neptune"
.
Settings in JSON format for the target Elasticsearch endpoint. For more information - * about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for DMS in + *
Settings in JSON format for the target OpenSearch endpoint. For more information + * about the available settings, see Extra Connection Attributes When Using OpenSearch as a Target for DMS in * the Database Migration Service User Guide.
*/ ElasticsearchSettings?: ElasticsearchSettings; @@ -3343,6 +3482,11 @@ export interface CreateEndpointMessage { *Settings in JSON format for the target Redis endpoint.
*/ RedisSettings?: RedisSettings; + + /** + *Settings in JSON format for the source GCP MySQL endpoint.
+ */ + GcpMySQLSettings?: GcpMySQLSettings; } export namespace CreateEndpointMessage { @@ -3367,6 +3511,7 @@ export namespace CreateEndpointMessage { ...(obj.IBMDb2Settings && { IBMDb2Settings: IBMDb2Settings.filterSensitiveLog(obj.IBMDb2Settings) }), ...(obj.DocDbSettings && { DocDbSettings: DocDbSettings.filterSensitiveLog(obj.DocDbSettings) }), ...(obj.RedisSettings && { RedisSettings: RedisSettings.filterSensitiveLog(obj.RedisSettings) }), + ...(obj.GcpMySQLSettings && { GcpMySQLSettings: GcpMySQLSettings.filterSensitiveLog(obj.GcpMySQLSettings) }), }); } @@ -3407,7 +3552,7 @@ export interface Endpoint { /** *The database engine name. Valid values, depending on the EndpointType, include
* "mysql"
, "oracle"
, "postgres"
,
- * "mariadb"
, "aurora"
, "aurora-postgresql"
,
+ * "mariadb"
, "aurora"
, "aurora-postgresql"
, "opensearch"
,
* "redshift"
, "s3"
, "db2"
, "azuredb"
,
* "sybase"
, "dynamodb"
, "mongodb"
,
* "kinesis"
, "kafka"
, "elasticsearch"
,
@@ -3506,25 +3651,7 @@ export interface Endpoint {
S3Settings?: S3Settings;
/**
- *
The settings in JSON format for the DMS transfer type of source endpoint.
- *Possible settings include the following:
- *
- * ServiceAccessRoleArn
- - The Amazon Resource Name (ARN) used by the service access IAM role.
- * The role must allow the iam:PassRole
action.
- * BucketName
- The name of the S3 bucket to use.
Shorthand syntax for these settings is as follows:
- * ServiceAccessRoleArn=string,BucketName=string,
- *
JSON syntax for these settings is as follows: { "ServiceAccessRoleArn":
- * "string", "BucketName": "string"}
- *
The settings for the DMS Transfer type source. For more information, see the DmsTransferSettings structure.
*/ DmsTransferSettings?: DmsTransferSettings; @@ -3547,7 +3674,7 @@ export interface Endpoint { KafkaSettings?: KafkaSettings; /** - *The settings for the Elasticsearch source endpoint. For more information, see the + *
The settings for the OpenSearch source endpoint. For more information, see the
* ElasticsearchSettings
structure.
RedisSettings
structure.
*/
RedisSettings?: RedisSettings;
+
+ /**
+ * Settings in JSON format for the source GCP MySQL endpoint.
+ */ + GcpMySQLSettings?: GcpMySQLSettings; } export namespace Endpoint { @@ -3633,6 +3765,7 @@ export namespace Endpoint { ...(obj.IBMDb2Settings && { IBMDb2Settings: IBMDb2Settings.filterSensitiveLog(obj.IBMDb2Settings) }), ...(obj.DocDbSettings && { DocDbSettings: DocDbSettings.filterSensitiveLog(obj.DocDbSettings) }), ...(obj.RedisSettings && { RedisSettings: RedisSettings.filterSensitiveLog(obj.RedisSettings) }), + ...(obj.GcpMySQLSettings && { GcpMySQLSettings: GcpMySQLSettings.filterSensitiveLog(obj.GcpMySQLSettings) }), }); } @@ -3910,7 +4043,7 @@ export namespace KMSAccessDeniedFault { } /** - *The specified master key (CMK) isn't enabled.
+ *The specified KMS key isn't enabled.
*/ export interface KMSDisabledFault extends __SmithyException, $MetadataBearer { name: "KMSDisabledFault"; @@ -5243,7 +5376,7 @@ export namespace CreateReplicationTaskResponse { export interface DeleteCertificateMessage { /** - *The Amazon Resource Name (ARN) of the deleted certificate.
+ *The Amazon Resource Name (ARN) of the certificate.
*/ CertificateArn: string | undefined; } @@ -5280,7 +5413,8 @@ export interface Certificate { CertificatePem?: string; /** - *The location of an imported Oracle Wallet certificate for use with SSL.
+ *The location of an imported Oracle Wallet certificate for use with SSL. Example: filebase64("${path.root}/rds-ca-2019-root.sso")
+ *
Filters applied to the certificates described in the form of key-value pairs.
+ *Filters applied to the certificates described in the form of key-value pairs.
+ * Valid values are certificate-arn
and certificate-id
.
Filters applied to events.
+ *Filters applied to events. The only valid filter is replication-instance-id
.
Filters applied to event subscriptions.
+ *Valid filter names: event-subscription-arn | event-subscription-id
*/ Filters?: Filter[]; @@ -7725,8 +7861,9 @@ export interface ImportCertificateMessage { /** *The location of an imported Oracle Wallet certificate for use with SSL. Provide the name of a .sso
file
- * using the fileb://
prefix. You can't provide the certificate inline.
- *
fileb://
prefix. You can't provide the certificate inline.
+ * Example: filebase64("${path.root}/rds-ca-2019-root.sso")
+ *
The type of engine for the endpoint. Valid values, depending on the EndpointType,
* include
* "mysql"
, "oracle"
, "postgres"
,
- * "mariadb"
, "aurora"
, "aurora-postgresql"
,
+ * "mariadb"
, "aurora"
, "aurora-postgresql"
, "opensearch"
,
* "redshift"
, "s3"
, "db2"
, "azuredb"
,
* "sybase"
, "dynamodb"
, "mongodb"
,
* "kinesis"
, "kafka"
, "elasticsearch"
,
@@ -7977,8 +8114,8 @@ export interface ModifyEndpointMessage {
KafkaSettings?: KafkaSettings;
/**
- *
Settings in JSON format for the target Elasticsearch endpoint. For more information - * about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for DMS in + *
Settings in JSON format for the target OpenSearch endpoint. For more information + * about the available settings, see Extra Connection Attributes When Using OpenSearch as a Target for DMS in * the Database Migration Service User Guide. *
*/ @@ -8094,6 +8231,11 @@ export interface ModifyEndpointMessage { * are replaced with the exact settings that you specify. */ ExactSettings?: boolean; + + /** + *Settings in JSON format for the source GCP MySQL endpoint.
+ */ + GcpMySQLSettings?: GcpMySQLSettings; } export namespace ModifyEndpointMessage { @@ -8118,6 +8260,7 @@ export namespace ModifyEndpointMessage { ...(obj.IBMDb2Settings && { IBMDb2Settings: IBMDb2Settings.filterSensitiveLog(obj.IBMDb2Settings) }), ...(obj.DocDbSettings && { DocDbSettings: DocDbSettings.filterSensitiveLog(obj.DocDbSettings) }), ...(obj.RedisSettings && { RedisSettings: RedisSettings.filterSensitiveLog(obj.RedisSettings) }), + ...(obj.GcpMySQLSettings && { GcpMySQLSettings: GcpMySQLSettings.filterSensitiveLog(obj.GcpMySQLSettings) }), }); } @@ -8801,7 +8944,13 @@ export interface StartReplicationTaskMessage { ReplicationTaskArn: string | undefined; /** - *A type of replication task.
+ *The type of replication task to start.
+ *When the migration type is full-load
or full-load-and-cdc
, the only valid value
+ * for the first run of the task is start-replication
. You use reload-target
to restart
+ * the task and resume-processing
to resume the task.
When the migration type is cdc
, you use start-replication
to start or restart
+ * the task, and resume-processing
to resume the task. reload-target
is not a valid value for
+ * a task with migration type of cdc
.
Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in business -critical operational applications. You specify the AWS resources that you want DevOps Guru to cover, -then the Amazon CloudWatch metrics and AWS CloudTrail events related to those resources are analyzed. When -anomalous behavior is detected, DevOps Guru creates an insight that includes -recommendations, related events, and related metrics that can help you improve your -operational applications. For more information, see What is Amazon DevOps Guru.
- --You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight is created. You can also enable DevOps Guru to generate -an OpsItem in AWS Systems Manager for each insight to help you manage and track your work addressing insights. -
- --To learn about the DevOps Guru workflow, see How DevOps Guru works. To -learn about DevOps Guru concepts, see Concepts in DevOps Guru. -
+Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in +business critical operational applications. You specify the Amazon Web Services resources that you +want DevOps Guru to cover, then the Amazon CloudWatch metrics and Amazon Web Services CloudTrail events related to those +resources are analyzed. When anomalous behavior is detected, DevOps Guru creates an +insight that includes recommendations, related events, and +related metrics that can help you improve your operational applications. For more +information, see What is Amazon DevOps Guru.
+ +You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight +is created. You can also enable DevOps Guru to generate an OpsItem in Amazon Web Services Systems Manager for each +insight to help you manage and track your work addressing insights.
+ +To learn about the DevOps Guru workflow, see How DevOps Guru works. To +learn about DevOps Guru concepts, see Concepts in DevOps Guru.
## Installing diff --git a/clients/client-devops-guru/src/DevOpsGuru.ts b/clients/client-devops-guru/src/DevOpsGuru.ts index 96c1b81b166f..4efc47d77778 100644 --- a/clients/client-devops-guru/src/DevOpsGuru.ts +++ b/clients/client-devops-guru/src/DevOpsGuru.ts @@ -30,6 +30,21 @@ import { DescribeInsightCommandInput, DescribeInsightCommandOutput, } from "./commands/DescribeInsightCommand"; +import { + DescribeOrganizationHealthCommand, + DescribeOrganizationHealthCommandInput, + DescribeOrganizationHealthCommandOutput, +} from "./commands/DescribeOrganizationHealthCommand"; +import { + DescribeOrganizationOverviewCommand, + DescribeOrganizationOverviewCommandInput, + DescribeOrganizationOverviewCommandOutput, +} from "./commands/DescribeOrganizationOverviewCommand"; +import { + DescribeOrganizationResourceCollectionHealthCommand, + DescribeOrganizationResourceCollectionHealthCommandInput, + DescribeOrganizationResourceCollectionHealthCommandOutput, +} from "./commands/DescribeOrganizationResourceCollectionHealthCommand"; import { DescribeResourceCollectionHealthCommand, DescribeResourceCollectionHealthCommandInput, @@ -66,6 +81,11 @@ import { ListNotificationChannelsCommandInput, ListNotificationChannelsCommandOutput, } from "./commands/ListNotificationChannelsCommand"; +import { + ListOrganizationInsightsCommand, + ListOrganizationInsightsCommandInput, + ListOrganizationInsightsCommandOutput, +} from "./commands/ListOrganizationInsightsCommand"; import { ListRecommendationsCommand, ListRecommendationsCommandInput, @@ -82,6 +102,11 @@ import { SearchInsightsCommandInput, SearchInsightsCommandOutput, } from "./commands/SearchInsightsCommand"; +import { + SearchOrganizationInsightsCommand, + SearchOrganizationInsightsCommandInput, + SearchOrganizationInsightsCommandOutput, +} from "./commands/SearchOrganizationInsightsCommand"; import { StartCostEstimationCommand, StartCostEstimationCommandInput, @@ -100,36 +125,32 @@ import { import { DevOpsGuruClient } from "./DevOpsGuruClient"; /** - *Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in business - * critical operational applications. You specify the AWS resources that you want DevOps Guru to cover, - * then the Amazon CloudWatch metrics and AWS CloudTrail events related to those resources are analyzed. When - * anomalous behavior is detected, DevOps Guru creates an insight that includes - * recommendations, related events, and related metrics that can help you improve your - * operational applications. For more information, see What is Amazon DevOps Guru.
+ *Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in + * business critical operational applications. You specify the Amazon Web Services resources that you + * want DevOps Guru to cover, then the Amazon CloudWatch metrics and Amazon Web Services CloudTrail events related to those + * resources are analyzed. When anomalous behavior is detected, DevOps Guru creates an + * insight that includes recommendations, related events, and + * related metrics that can help you improve your operational applications. For more + * information, see What is Amazon DevOps Guru.
* - *- * You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight is created. You can also enable DevOps Guru to generate - * an OpsItem in AWS Systems Manager for each insight to help you manage and track your work addressing insights. - *
+ *You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight + * is created. You can also enable DevOps Guru to generate an OpsItem in Amazon Web Services Systems Manager for each + * insight to help you manage and track your work addressing insights.
* - *- * To learn about the DevOps Guru workflow, see How DevOps Guru works. To - * learn about DevOps Guru concepts, see Concepts in DevOps Guru. - *
+ *To learn about the DevOps Guru workflow, see How DevOps Guru works. To + * learn about DevOps Guru concepts, see Concepts in DevOps Guru.
*/ export class DevOpsGuru extends DevOpsGuruClient { /** - *- * Adds a notification channel to DevOps Guru. A notification channel is used to notify you about important DevOps Guru events, such as when an insight is generated. - *
- * + *Adds a notification channel to DevOps Guru. A notification channel is used to notify you + * about important DevOps Guru events, such as when an insight is generated.
*If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission * to it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. * For more information, see Permissions * for cross account Amazon SNS topics.
- *If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions + *
If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key Management Service customer-managed key (CMK), then you must add permissions * to the CMK. For more information, see Permissions for - * AWS KMS–encrypted Amazon SNS topics.
+ * Amazon Web Services KMS–encrypted Amazon SNS topics. */ public addNotificationChannel( args: AddNotificationChannelCommandInput, @@ -161,10 +182,9 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns the number of open reactive insights, the number of open proactive insights, and the number of metrics analyzed in your AWS account. - * Use these numbers to gauge the health of operations in your AWS account. - *
+ *Returns the number of open reactive insights, the number of open proactive insights, + * and the number of metrics analyzed in your Amazon Web Services account. Use these numbers to gauge the + * health of operations in your Amazon Web Services account.
*/ public describeAccountHealth( args: DescribeAccountHealthCommandInput, @@ -196,10 +216,9 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * For the time range passed in, returns the number of open reactive insight that were created, the number of open proactive insights - * that were created, and the Mean Time to Recover (MTTR) for all closed reactive insights. - *
+ *For the time range passed in, returns the number of open reactive insight that were + * created, the number of open proactive insights that were created, and the Mean Time to Recover (MTTR) for all + * closed reactive insights.
*/ public describeAccountOverview( args: DescribeAccountOverviewCommandInput, @@ -231,9 +250,7 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns details about an anomaly that you specify using its ID. - *
+ *Returns details about an anomaly that you specify using its ID.
*/ public describeAnomaly( args: DescribeAnomalyCommandInput, @@ -265,8 +282,7 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns the most recent feedback submitted in the current AWS account and Region. + *
Returns the most recent feedback submitted in the current Amazon Web Services account and Region. *
*/ public describeFeedback( @@ -299,9 +315,7 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns details about an insight that you specify using its ID. - *
+ *Returns details about an insight that you specify using its ID.
*/ public describeInsight( args: DescribeInsightCommandInput, @@ -333,11 +347,112 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR) for all closed insights in - * resource collections in your account. You specify the type of AWS resources collection. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *Returns active insights, predictive insights, and resource hours analyzed in last + * hour.
+ */ + public describeOrganizationHealth( + args: DescribeOrganizationHealthCommandInput, + options?: __HttpHandlerOptions + ): PromiseReturns an overview of your organization's history based on the specified time range. + * The overview includes the total reactive and proactive insights.
+ */ + public describeOrganizationOverview( + args: DescribeOrganizationOverviewCommandInput, + options?: __HttpHandlerOptions + ): PromiseProvides an overview of your system's health. If additional member accounts are part
+ * of your organization, you can filter those accounts using the AccountIds
+ * field.
Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR) + * for all closed insights in resource collections in your account. You specify the type of + * Amazon Web Services resources collection. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ public describeResourceCollectionHealth( args: DescribeResourceCollectionHealthCommandInput, @@ -369,11 +484,9 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns the integration status of services that are integrated with DevOps Guru. + *
Returns the integration status of services that are integrated with DevOps Guru. * The one service that can be integrated with DevOps Guru - * is AWS Systems Manager, which can be used to create an OpsItem for each generated insight. - *
+ * is Amazon Web Services Systems Manager, which can be used to create an OpsItem for each generated insight. */ public describeServiceIntegration( args: DescribeServiceIntegrationCommandInput, @@ -405,7 +518,7 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *Returns an estimate of the monthly cost for DevOps Guru to analyze your AWS resources. + *
Returns an estimate of the monthly cost for DevOps Guru to analyze your Amazon Web Services resources. * For more information, * see Estimate your * Amazon DevOps Guru costs and @@ -441,10 +554,9 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *
- * Returns lists AWS resources that are of the specified resource collection type. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *Returns lists Amazon Web Services resources that are of the specified resource collection type. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ public getResourceCollection( args: GetResourceCollectionCommandInput, @@ -476,9 +588,8 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns a list of the anomalies that belong to an insight that you specify using its ID. - *
+ *Returns a list of the anomalies that belong to an insight that you specify using its + * ID.
*/ public listAnomaliesForInsight( args: ListAnomaliesForInsightCommandInput, @@ -510,9 +621,8 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns a list of the events emitted by the resources that are evaluated by DevOps Guru. You can use filters to specify which events are returned. - *
+ *Returns a list of the events emitted by the resources that are evaluated by DevOps Guru. + * You can use filters to specify which events are returned.
*/ public listEvents(args: ListEventsCommandInput, options?: __HttpHandlerOptions): Promise
- * Returns a list of insights in your AWS account. You can specify which insights are returned by their start time and
- * status (ONGOING
, CLOSED
, or ANY
).
- *
Returns a list of insights in your Amazon Web Services account. You can specify which insights are
+ * returned by their start time and status (ONGOING
, CLOSED
, or
+ * ANY
).
- * Returns a list of notification channels configured for DevOps Guru. Each notification channel is used to notify you when - * DevOps Guru generates an insight that contains information about how to improve your operations. The one - * supported notification channel is Amazon Simple Notification Service (Amazon SNS). - *
+ *Returns a list of notification channels configured for DevOps Guru. Each notification + * channel is used to notify you when DevOps Guru generates an insight that contains information + * about how to improve your operations. The one + * supported notification channel is Amazon Simple Notification Service (Amazon SNS).
*/ public listNotificationChannels( args: ListNotificationChannelsCommandInput, @@ -606,9 +714,40 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Returns a list of a specified insight's recommendations. Each recommendation includes a list of related metrics and a list of related events. - *
+ *Returns a list of insights associated with the account or OU Id.
+ */ + public listOrganizationInsights( + args: ListOrganizationInsightsCommandInput, + options?: __HttpHandlerOptions + ): PromiseReturns a list of a specified insight's recommendations. Each recommendation includes + * a list of related metrics and a list of related events.
*/ public listRecommendations( args: ListRecommendationsCommandInput, @@ -640,9 +779,7 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Collects customer feedback about the specified insight. - *
+ *Collects customer feedback about the specified insight.
*/ public putFeedback(args: PutFeedbackCommandInput, options?: __HttpHandlerOptions): Promise- * Removes a notification channel from DevOps Guru. A notification channel is used to notify you when DevOps Guru generates an insight - * that contains information about how to improve your operations. - *
+ *Removes a notification channel from DevOps Guru. A notification channel is used to notify + * you when DevOps Guru generates an insight that contains information about how to improve your + * operations.
*/ public removeNotificationChannel( args: RemoveNotificationChannelCommandInput, @@ -703,15 +839,14 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *
- * Returns a list of insights in your AWS account. You can specify which insights are returned by their start time, one or more statuses
- * (ONGOING
, CLOSED
, and CLOSED
), one or more severities (LOW
, MEDIUM
,
- * and HIGH
), and type (REACTIVE
or PROACTIVE
).
- *
- * Use the Filters
parameter to specify status and severity
- * search parameters. Use the Type
parameter to specify REACTIVE
or PROACTIVE
in your search.
- *
Returns a list of insights in your Amazon Web Services account. You can specify which insights are
+ * returned by their start time, one or more statuses (ONGOING
,
+ * CLOSED
, and CLOSED
), one or more severities
+ * (LOW
, MEDIUM
, and HIGH
), and type
+ * (REACTIVE
or PROACTIVE
).
Use the Filters
parameter to specify status and severity search
+ * parameters. Use the Type
parameter to specify REACTIVE
or
+ * PROACTIVE
in your search.
Starts the creation of an estimate of the monthly cost to analyze your AWS resources.
+ * Returns a list of insights in your organization. You can specify which insights are
+ * returned by their start time, one or more statuses (ONGOING
,
+ * CLOSED
, and CLOSED
), one or more severities
+ * (LOW
, MEDIUM
, and HIGH
), and type
+ * (REACTIVE
or PROACTIVE
).
Use the Filters
parameter to specify status and severity search
+ * parameters. Use the Type
parameter to specify REACTIVE
or
+ * PROACTIVE
in your search.
Starts the creation of an estimate of the monthly cost to analyze your Amazon Web Services + * resources.
*/ public startCostEstimation( args: StartCostEstimationCommandInput, @@ -776,9 +951,9 @@ export class DevOpsGuru extends DevOpsGuruClient { /** *Updates the collection of resources that DevOps Guru analyzes. - * The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. This method also creates the IAM role required for you - * to use DevOps Guru.
+ * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for + * you to use DevOps Guru. */ public updateResourceCollection( args: UpdateResourceCollectionCommandInput, @@ -810,10 +985,9 @@ export class DevOpsGuru extends DevOpsGuruClient { } /** - *- * Enables or disables integration with a service that can be integrated with DevOps Guru. The one service that can be integrated with - * DevOps Guru is AWS Systems Manager, which can be used to create an OpsItem for each generated insight. - *
+ *Enables or disables integration with a service that can be integrated with DevOps Guru. The + * one service that can be integrated with DevOps Guru is Amazon Web Services Systems Manager, which can be used to create + * an OpsItem for each generated insight.
*/ public updateServiceIntegration( args: UpdateServiceIntegrationCommandInput, diff --git a/clients/client-devops-guru/src/DevOpsGuruClient.ts b/clients/client-devops-guru/src/DevOpsGuruClient.ts index fc38ff6a45d0..9f2ee5a576e1 100644 --- a/clients/client-devops-guru/src/DevOpsGuruClient.ts +++ b/clients/client-devops-guru/src/DevOpsGuruClient.ts @@ -64,6 +64,18 @@ import { import { DescribeAnomalyCommandInput, DescribeAnomalyCommandOutput } from "./commands/DescribeAnomalyCommand"; import { DescribeFeedbackCommandInput, DescribeFeedbackCommandOutput } from "./commands/DescribeFeedbackCommand"; import { DescribeInsightCommandInput, DescribeInsightCommandOutput } from "./commands/DescribeInsightCommand"; +import { + DescribeOrganizationHealthCommandInput, + DescribeOrganizationHealthCommandOutput, +} from "./commands/DescribeOrganizationHealthCommand"; +import { + DescribeOrganizationOverviewCommandInput, + DescribeOrganizationOverviewCommandOutput, +} from "./commands/DescribeOrganizationOverviewCommand"; +import { + DescribeOrganizationResourceCollectionHealthCommandInput, + DescribeOrganizationResourceCollectionHealthCommandOutput, +} from "./commands/DescribeOrganizationResourceCollectionHealthCommand"; import { DescribeResourceCollectionHealthCommandInput, DescribeResourceCollectionHealthCommandOutput, @@ -87,6 +99,10 @@ import { ListNotificationChannelsCommandInput, ListNotificationChannelsCommandOutput, } from "./commands/ListNotificationChannelsCommand"; +import { + ListOrganizationInsightsCommandInput, + ListOrganizationInsightsCommandOutput, +} from "./commands/ListOrganizationInsightsCommand"; import { ListRecommendationsCommandInput, ListRecommendationsCommandOutput, @@ -97,6 +113,10 @@ import { RemoveNotificationChannelCommandOutput, } from "./commands/RemoveNotificationChannelCommand"; import { SearchInsightsCommandInput, SearchInsightsCommandOutput } from "./commands/SearchInsightsCommand"; +import { + SearchOrganizationInsightsCommandInput, + SearchOrganizationInsightsCommandOutput, +} from "./commands/SearchOrganizationInsightsCommand"; import { StartCostEstimationCommandInput, StartCostEstimationCommandOutput, @@ -118,6 +138,9 @@ export type ServiceInputTypes = | DescribeAnomalyCommandInput | DescribeFeedbackCommandInput | DescribeInsightCommandInput + | DescribeOrganizationHealthCommandInput + | DescribeOrganizationOverviewCommandInput + | DescribeOrganizationResourceCollectionHealthCommandInput | DescribeResourceCollectionHealthCommandInput | DescribeServiceIntegrationCommandInput | GetCostEstimationCommandInput @@ -126,10 +149,12 @@ export type ServiceInputTypes = | ListEventsCommandInput | ListInsightsCommandInput | ListNotificationChannelsCommandInput + | ListOrganizationInsightsCommandInput | ListRecommendationsCommandInput | PutFeedbackCommandInput | RemoveNotificationChannelCommandInput | SearchInsightsCommandInput + | SearchOrganizationInsightsCommandInput | StartCostEstimationCommandInput | UpdateResourceCollectionCommandInput | UpdateServiceIntegrationCommandInput; @@ -141,6 +166,9 @@ export type ServiceOutputTypes = | DescribeAnomalyCommandOutput | DescribeFeedbackCommandOutput | DescribeInsightCommandOutput + | DescribeOrganizationHealthCommandOutput + | DescribeOrganizationOverviewCommandOutput + | DescribeOrganizationResourceCollectionHealthCommandOutput | DescribeResourceCollectionHealthCommandOutput | DescribeServiceIntegrationCommandOutput | GetCostEstimationCommandOutput @@ -149,10 +177,12 @@ export type ServiceOutputTypes = | ListEventsCommandOutput | ListInsightsCommandOutput | ListNotificationChannelsCommandOutput + | ListOrganizationInsightsCommandOutput | ListRecommendationsCommandOutput | PutFeedbackCommandOutput | RemoveNotificationChannelCommandOutput | SearchInsightsCommandOutput + | SearchOrganizationInsightsCommandOutput | StartCostEstimationCommandOutput | UpdateResourceCollectionCommandOutput | UpdateServiceIntegrationCommandOutput; @@ -306,22 +336,20 @@ type DevOpsGuruClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHa export interface DevOpsGuruClientResolvedConfig extends DevOpsGuruClientResolvedConfigType {} /** - *Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in business - * critical operational applications. You specify the AWS resources that you want DevOps Guru to cover, - * then the Amazon CloudWatch metrics and AWS CloudTrail events related to those resources are analyzed. When - * anomalous behavior is detected, DevOps Guru creates an insight that includes - * recommendations, related events, and related metrics that can help you improve your - * operational applications. For more information, see What is Amazon DevOps Guru.
+ *Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in + * business critical operational applications. You specify the Amazon Web Services resources that you + * want DevOps Guru to cover, then the Amazon CloudWatch metrics and Amazon Web Services CloudTrail events related to those + * resources are analyzed. When anomalous behavior is detected, DevOps Guru creates an + * insight that includes recommendations, related events, and + * related metrics that can help you improve your operational applications. For more + * information, see What is Amazon DevOps Guru.
* - *- * You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight is created. You can also enable DevOps Guru to generate - * an OpsItem in AWS Systems Manager for each insight to help you manage and track your work addressing insights. - *
+ *You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight + * is created. You can also enable DevOps Guru to generate an OpsItem in Amazon Web Services Systems Manager for each + * insight to help you manage and track your work addressing insights.
* - *- * To learn about the DevOps Guru workflow, see How DevOps Guru works. To - * learn about DevOps Guru concepts, see Concepts in DevOps Guru. - *
+ *To learn about the DevOps Guru workflow, see How DevOps Guru works. To + * learn about DevOps Guru concepts, see Concepts in DevOps Guru.
*/ export class DevOpsGuruClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-devops-guru/src/commands/AddNotificationChannelCommand.ts b/clients/client-devops-guru/src/commands/AddNotificationChannelCommand.ts index 184f3126de0d..22b22a8f58c7 100644 --- a/clients/client-devops-guru/src/commands/AddNotificationChannelCommand.ts +++ b/clients/client-devops-guru/src/commands/AddNotificationChannelCommand.ts @@ -22,17 +22,15 @@ export interface AddNotificationChannelCommandInput extends AddNotificationChann export interface AddNotificationChannelCommandOutput extends AddNotificationChannelResponse, __MetadataBearer {} /** - *- * Adds a notification channel to DevOps Guru. A notification channel is used to notify you about important DevOps Guru events, such as when an insight is generated. - *
- * + *Adds a notification channel to DevOps Guru. A notification channel is used to notify you + * about important DevOps Guru events, such as when an insight is generated.
*If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission * to it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. * For more information, see Permissions * for cross account Amazon SNS topics.
- *If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions + *
If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key Management Service customer-managed key (CMK), then you must add permissions * to the CMK. For more information, see Permissions for - * AWS KMS–encrypted Amazon SNS topics.
+ * Amazon Web Services KMS–encrypted Amazon SNS topics. * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/DescribeAccountHealthCommand.ts b/clients/client-devops-guru/src/commands/DescribeAccountHealthCommand.ts index 2e9c540c4bd0..2b61f74a970e 100644 --- a/clients/client-devops-guru/src/commands/DescribeAccountHealthCommand.ts +++ b/clients/client-devops-guru/src/commands/DescribeAccountHealthCommand.ts @@ -22,10 +22,9 @@ export interface DescribeAccountHealthCommandInput extends DescribeAccountHealth export interface DescribeAccountHealthCommandOutput extends DescribeAccountHealthResponse, __MetadataBearer {} /** - *- * Returns the number of open reactive insights, the number of open proactive insights, and the number of metrics analyzed in your AWS account. - * Use these numbers to gauge the health of operations in your AWS account. - *
+ *Returns the number of open reactive insights, the number of open proactive insights, + * and the number of metrics analyzed in your Amazon Web Services account. Use these numbers to gauge the + * health of operations in your Amazon Web Services account.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/DescribeAccountOverviewCommand.ts b/clients/client-devops-guru/src/commands/DescribeAccountOverviewCommand.ts index f7baa22faad8..8483faaed97f 100644 --- a/clients/client-devops-guru/src/commands/DescribeAccountOverviewCommand.ts +++ b/clients/client-devops-guru/src/commands/DescribeAccountOverviewCommand.ts @@ -22,10 +22,9 @@ export interface DescribeAccountOverviewCommandInput extends DescribeAccountOver export interface DescribeAccountOverviewCommandOutput extends DescribeAccountOverviewResponse, __MetadataBearer {} /** - *- * For the time range passed in, returns the number of open reactive insight that were created, the number of open proactive insights - * that were created, and the Mean Time to Recover (MTTR) for all closed reactive insights. - *
+ *For the time range passed in, returns the number of open reactive insight that were + * created, the number of open proactive insights that were created, and the Mean Time to Recover (MTTR) for all + * closed reactive insights.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/DescribeAnomalyCommand.ts b/clients/client-devops-guru/src/commands/DescribeAnomalyCommand.ts index 09d1b9fa6db2..2855b5627af9 100644 --- a/clients/client-devops-guru/src/commands/DescribeAnomalyCommand.ts +++ b/clients/client-devops-guru/src/commands/DescribeAnomalyCommand.ts @@ -22,9 +22,7 @@ export interface DescribeAnomalyCommandInput extends DescribeAnomalyRequest {} export interface DescribeAnomalyCommandOutput extends DescribeAnomalyResponse, __MetadataBearer {} /** - *- * Returns details about an anomaly that you specify using its ID. - *
+ *Returns details about an anomaly that you specify using its ID.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/DescribeFeedbackCommand.ts b/clients/client-devops-guru/src/commands/DescribeFeedbackCommand.ts index 285d6a0c729b..2aac781ef475 100644 --- a/clients/client-devops-guru/src/commands/DescribeFeedbackCommand.ts +++ b/clients/client-devops-guru/src/commands/DescribeFeedbackCommand.ts @@ -22,8 +22,7 @@ export interface DescribeFeedbackCommandInput extends DescribeFeedbackRequest {} export interface DescribeFeedbackCommandOutput extends DescribeFeedbackResponse, __MetadataBearer {} /** - *- * Returns the most recent feedback submitted in the current AWS account and Region. + *
Returns the most recent feedback submitted in the current Amazon Web Services account and Region. *
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-devops-guru/src/commands/DescribeInsightCommand.ts b/clients/client-devops-guru/src/commands/DescribeInsightCommand.ts index bc82f146501b..89be2e734b7b 100644 --- a/clients/client-devops-guru/src/commands/DescribeInsightCommand.ts +++ b/clients/client-devops-guru/src/commands/DescribeInsightCommand.ts @@ -22,9 +22,7 @@ export interface DescribeInsightCommandInput extends DescribeInsightRequest {} export interface DescribeInsightCommandOutput extends DescribeInsightResponse, __MetadataBearer {} /** - *- * Returns details about an insight that you specify using its ID. - *
+ *Returns details about an insight that you specify using its ID.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/DescribeOrganizationHealthCommand.ts b/clients/client-devops-guru/src/commands/DescribeOrganizationHealthCommand.ts new file mode 100644 index 000000000000..364bfc7dd1eb --- /dev/null +++ b/clients/client-devops-guru/src/commands/DescribeOrganizationHealthCommand.ts @@ -0,0 +1,99 @@ +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 { DevOpsGuruClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DevOpsGuruClient"; +import { DescribeOrganizationHealthRequest, DescribeOrganizationHealthResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeOrganizationHealthCommand, + serializeAws_restJson1DescribeOrganizationHealthCommand, +} from "../protocols/Aws_restJson1"; + +export interface DescribeOrganizationHealthCommandInput extends DescribeOrganizationHealthRequest {} +export interface DescribeOrganizationHealthCommandOutput extends DescribeOrganizationHealthResponse, __MetadataBearer {} + +/** + *Returns active insights, predictive insights, and resource hours analyzed in last + * hour.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DevOpsGuruClient, DescribeOrganizationHealthCommand } from "@aws-sdk/client-devops-guru"; // ES Modules import + * // const { DevOpsGuruClient, DescribeOrganizationHealthCommand } = require("@aws-sdk/client-devops-guru"); // CommonJS import + * const client = new DevOpsGuruClient(config); + * const command = new DescribeOrganizationHealthCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeOrganizationHealthCommandInput} for command's `input` shape. + * @see {@link DescribeOrganizationHealthCommandOutput} for command's `response` shape. + * @see {@link DevOpsGuruClientResolvedConfig | config} for DevOpsGuruClient's `config` shape. + * + */ +export class DescribeOrganizationHealthCommand extends $Command< + DescribeOrganizationHealthCommandInput, + DescribeOrganizationHealthCommandOutput, + DevOpsGuruClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeOrganizationHealthCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackReturns an overview of your organization's history based on the specified time range. + * The overview includes the total reactive and proactive insights.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DevOpsGuruClient, DescribeOrganizationOverviewCommand } from "@aws-sdk/client-devops-guru"; // ES Modules import + * // const { DevOpsGuruClient, DescribeOrganizationOverviewCommand } = require("@aws-sdk/client-devops-guru"); // CommonJS import + * const client = new DevOpsGuruClient(config); + * const command = new DescribeOrganizationOverviewCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeOrganizationOverviewCommandInput} for command's `input` shape. + * @see {@link DescribeOrganizationOverviewCommandOutput} for command's `response` shape. + * @see {@link DevOpsGuruClientResolvedConfig | config} for DevOpsGuruClient's `config` shape. + * + */ +export class DescribeOrganizationOverviewCommand extends $Command< + DescribeOrganizationOverviewCommandInput, + DescribeOrganizationOverviewCommandOutput, + DevOpsGuruClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeOrganizationOverviewCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackProvides an overview of your system's health. If additional member accounts are part
+ * of your organization, you can filter those accounts using the AccountIds
+ * field.
- * Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR) for all closed insights in - * resource collections in your account. You specify the type of AWS resources collection. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR) + * for all closed insights in resource collections in your account. You specify the type of + * Amazon Web Services resources collection. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/DescribeServiceIntegrationCommand.ts b/clients/client-devops-guru/src/commands/DescribeServiceIntegrationCommand.ts index 49d86b2a64bd..b229e597222f 100644 --- a/clients/client-devops-guru/src/commands/DescribeServiceIntegrationCommand.ts +++ b/clients/client-devops-guru/src/commands/DescribeServiceIntegrationCommand.ts @@ -22,11 +22,9 @@ export interface DescribeServiceIntegrationCommandInput extends DescribeServiceI export interface DescribeServiceIntegrationCommandOutput extends DescribeServiceIntegrationResponse, __MetadataBearer {} /** - *- * Returns the integration status of services that are integrated with DevOps Guru. + *
Returns the integration status of services that are integrated with DevOps Guru. * The one service that can be integrated with DevOps Guru - * is AWS Systems Manager, which can be used to create an OpsItem for each generated insight. - *
+ * is Amazon Web Services Systems Manager, which can be used to create an OpsItem for each generated insight. * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/GetCostEstimationCommand.ts b/clients/client-devops-guru/src/commands/GetCostEstimationCommand.ts index 625249d947bf..cbbc8951354c 100644 --- a/clients/client-devops-guru/src/commands/GetCostEstimationCommand.ts +++ b/clients/client-devops-guru/src/commands/GetCostEstimationCommand.ts @@ -22,7 +22,7 @@ export interface GetCostEstimationCommandInput extends GetCostEstimationRequest export interface GetCostEstimationCommandOutput extends GetCostEstimationResponse, __MetadataBearer {} /** - *Returns an estimate of the monthly cost for DevOps Guru to analyze your AWS resources. + *
Returns an estimate of the monthly cost for DevOps Guru to analyze your Amazon Web Services resources. * For more information, * see Estimate your * Amazon DevOps Guru costs and diff --git a/clients/client-devops-guru/src/commands/GetResourceCollectionCommand.ts b/clients/client-devops-guru/src/commands/GetResourceCollectionCommand.ts index 69ebd1a5472d..7ecaabe90af6 100644 --- a/clients/client-devops-guru/src/commands/GetResourceCollectionCommand.ts +++ b/clients/client-devops-guru/src/commands/GetResourceCollectionCommand.ts @@ -22,10 +22,9 @@ export interface GetResourceCollectionCommandInput extends GetResourceCollection export interface GetResourceCollectionCommandOutput extends GetResourceCollectionResponse, __MetadataBearer {} /** - *
- * Returns lists AWS resources that are of the specified resource collection type. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *Returns lists Amazon Web Services resources that are of the specified resource collection type. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/ListAnomaliesForInsightCommand.ts b/clients/client-devops-guru/src/commands/ListAnomaliesForInsightCommand.ts index 3f9fd15e7f90..e278fa777d86 100644 --- a/clients/client-devops-guru/src/commands/ListAnomaliesForInsightCommand.ts +++ b/clients/client-devops-guru/src/commands/ListAnomaliesForInsightCommand.ts @@ -22,9 +22,8 @@ export interface ListAnomaliesForInsightCommandInput extends ListAnomaliesForIns export interface ListAnomaliesForInsightCommandOutput extends ListAnomaliesForInsightResponse, __MetadataBearer {} /** - *- * Returns a list of the anomalies that belong to an insight that you specify using its ID. - *
+ *Returns a list of the anomalies that belong to an insight that you specify using its + * ID.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/ListEventsCommand.ts b/clients/client-devops-guru/src/commands/ListEventsCommand.ts index 235c09920794..4b6b384741fb 100644 --- a/clients/client-devops-guru/src/commands/ListEventsCommand.ts +++ b/clients/client-devops-guru/src/commands/ListEventsCommand.ts @@ -22,9 +22,8 @@ export interface ListEventsCommandInput extends ListEventsRequest {} export interface ListEventsCommandOutput extends ListEventsResponse, __MetadataBearer {} /** - *- * Returns a list of the events emitted by the resources that are evaluated by DevOps Guru. You can use filters to specify which events are returned. - *
+ *Returns a list of the events emitted by the resources that are evaluated by DevOps Guru. + * You can use filters to specify which events are returned.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/ListInsightsCommand.ts b/clients/client-devops-guru/src/commands/ListInsightsCommand.ts index 6e39352de389..745ba3179d0a 100644 --- a/clients/client-devops-guru/src/commands/ListInsightsCommand.ts +++ b/clients/client-devops-guru/src/commands/ListInsightsCommand.ts @@ -22,10 +22,9 @@ export interface ListInsightsCommandInput extends ListInsightsRequest {} export interface ListInsightsCommandOutput extends ListInsightsResponse, __MetadataBearer {} /** - *
- * Returns a list of insights in your AWS account. You can specify which insights are returned by their start time and
- * status (ONGOING
, CLOSED
, or ANY
).
- *
Returns a list of insights in your Amazon Web Services account. You can specify which insights are
+ * returned by their start time and status (ONGOING
, CLOSED
, or
+ * ANY
).
- * Returns a list of notification channels configured for DevOps Guru. Each notification channel is used to notify you when - * DevOps Guru generates an insight that contains information about how to improve your operations. The one - * supported notification channel is Amazon Simple Notification Service (Amazon SNS). - *
+ *Returns a list of notification channels configured for DevOps Guru. Each notification + * channel is used to notify you when DevOps Guru generates an insight that contains information + * about how to improve your operations. The one + * supported notification channel is Amazon Simple Notification Service (Amazon SNS).
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/ListOrganizationInsightsCommand.ts b/clients/client-devops-guru/src/commands/ListOrganizationInsightsCommand.ts new file mode 100644 index 000000000000..e4b898f2414c --- /dev/null +++ b/clients/client-devops-guru/src/commands/ListOrganizationInsightsCommand.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 { DevOpsGuruClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DevOpsGuruClient"; +import { ListOrganizationInsightsRequest, ListOrganizationInsightsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListOrganizationInsightsCommand, + serializeAws_restJson1ListOrganizationInsightsCommand, +} from "../protocols/Aws_restJson1"; + +export interface ListOrganizationInsightsCommandInput extends ListOrganizationInsightsRequest {} +export interface ListOrganizationInsightsCommandOutput extends ListOrganizationInsightsResponse, __MetadataBearer {} + +/** + *Returns a list of insights associated with the account or OU Id.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DevOpsGuruClient, ListOrganizationInsightsCommand } from "@aws-sdk/client-devops-guru"; // ES Modules import + * // const { DevOpsGuruClient, ListOrganizationInsightsCommand } = require("@aws-sdk/client-devops-guru"); // CommonJS import + * const client = new DevOpsGuruClient(config); + * const command = new ListOrganizationInsightsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListOrganizationInsightsCommandInput} for command's `input` shape. + * @see {@link ListOrganizationInsightsCommandOutput} for command's `response` shape. + * @see {@link DevOpsGuruClientResolvedConfig | config} for DevOpsGuruClient's `config` shape. + * + */ +export class ListOrganizationInsightsCommand extends $Command< + ListOrganizationInsightsCommandInput, + ListOrganizationInsightsCommandOutput, + DevOpsGuruClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListOrganizationInsightsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack- * Returns a list of a specified insight's recommendations. Each recommendation includes a list of related metrics and a list of related events. - *
+ *Returns a list of a specified insight's recommendations. Each recommendation includes + * a list of related metrics and a list of related events.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/PutFeedbackCommand.ts b/clients/client-devops-guru/src/commands/PutFeedbackCommand.ts index 412de53e8bc7..da7b4b594b4b 100644 --- a/clients/client-devops-guru/src/commands/PutFeedbackCommand.ts +++ b/clients/client-devops-guru/src/commands/PutFeedbackCommand.ts @@ -22,9 +22,7 @@ export interface PutFeedbackCommandInput extends PutFeedbackRequest {} export interface PutFeedbackCommandOutput extends PutFeedbackResponse, __MetadataBearer {} /** - *- * Collects customer feedback about the specified insight. - *
+ *Collects customer feedback about the specified insight.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/RemoveNotificationChannelCommand.ts b/clients/client-devops-guru/src/commands/RemoveNotificationChannelCommand.ts index ee63fe68a7b7..545421af333f 100644 --- a/clients/client-devops-guru/src/commands/RemoveNotificationChannelCommand.ts +++ b/clients/client-devops-guru/src/commands/RemoveNotificationChannelCommand.ts @@ -22,10 +22,9 @@ export interface RemoveNotificationChannelCommandInput extends RemoveNotificatio export interface RemoveNotificationChannelCommandOutput extends RemoveNotificationChannelResponse, __MetadataBearer {} /** - *- * Removes a notification channel from DevOps Guru. A notification channel is used to notify you when DevOps Guru generates an insight - * that contains information about how to improve your operations. - *
+ *Removes a notification channel from DevOps Guru. A notification channel is used to notify + * you when DevOps Guru generates an insight that contains information about how to improve your + * operations.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/SearchInsightsCommand.ts b/clients/client-devops-guru/src/commands/SearchInsightsCommand.ts index fec896805434..5f39b174160d 100644 --- a/clients/client-devops-guru/src/commands/SearchInsightsCommand.ts +++ b/clients/client-devops-guru/src/commands/SearchInsightsCommand.ts @@ -22,15 +22,14 @@ export interface SearchInsightsCommandInput extends SearchInsightsRequest {} export interface SearchInsightsCommandOutput extends SearchInsightsResponse, __MetadataBearer {} /** - *
- * Returns a list of insights in your AWS account. You can specify which insights are returned by their start time, one or more statuses
- * (ONGOING
, CLOSED
, and CLOSED
), one or more severities (LOW
, MEDIUM
,
- * and HIGH
), and type (REACTIVE
or PROACTIVE
).
- *
- * Use the Filters
parameter to specify status and severity
- * search parameters. Use the Type
parameter to specify REACTIVE
or PROACTIVE
in your search.
- *
Returns a list of insights in your Amazon Web Services account. You can specify which insights are
+ * returned by their start time, one or more statuses (ONGOING
,
+ * CLOSED
, and CLOSED
), one or more severities
+ * (LOW
, MEDIUM
, and HIGH
), and type
+ * (REACTIVE
or PROACTIVE
).
Use the Filters
parameter to specify status and severity search
+ * parameters. Use the Type
parameter to specify REACTIVE
or
+ * PROACTIVE
in your search.
Returns a list of insights in your organization. You can specify which insights are
+ * returned by their start time, one or more statuses (ONGOING
,
+ * CLOSED
, and CLOSED
), one or more severities
+ * (LOW
, MEDIUM
, and HIGH
), and type
+ * (REACTIVE
or PROACTIVE
).
Use the Filters
parameter to specify status and severity search
+ * parameters. Use the Type
parameter to specify REACTIVE
or
+ * PROACTIVE
in your search.
Starts the creation of an estimate of the monthly cost to analyze your AWS resources.
+ *Starts the creation of an estimate of the monthly cost to analyze your Amazon Web Services + * resources.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/UpdateResourceCollectionCommand.ts b/clients/client-devops-guru/src/commands/UpdateResourceCollectionCommand.ts index 8e40f9b00b72..695b5cf2add3 100644 --- a/clients/client-devops-guru/src/commands/UpdateResourceCollectionCommand.ts +++ b/clients/client-devops-guru/src/commands/UpdateResourceCollectionCommand.ts @@ -23,9 +23,9 @@ export interface UpdateResourceCollectionCommandOutput extends UpdateResourceCol /** *Updates the collection of resources that DevOps Guru analyzes. - * The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. This method also creates the IAM role required for you - * to use DevOps Guru.
+ * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for + * you to use DevOps Guru. * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/UpdateServiceIntegrationCommand.ts b/clients/client-devops-guru/src/commands/UpdateServiceIntegrationCommand.ts index 4ea42dfe642c..9b4757fbf07f 100644 --- a/clients/client-devops-guru/src/commands/UpdateServiceIntegrationCommand.ts +++ b/clients/client-devops-guru/src/commands/UpdateServiceIntegrationCommand.ts @@ -22,10 +22,9 @@ export interface UpdateServiceIntegrationCommandInput extends UpdateServiceInteg export interface UpdateServiceIntegrationCommandOutput extends UpdateServiceIntegrationResponse, __MetadataBearer {} /** - *- * Enables or disables integration with a service that can be integrated with DevOps Guru. The one service that can be integrated with - * DevOps Guru is AWS Systems Manager, which can be used to create an OpsItem for each generated insight. - *
+ *Enables or disables integration with a service that can be integrated with DevOps Guru. The + * one service that can be integrated with DevOps Guru is Amazon Web Services Systems Manager, which can be used to create + * an OpsItem for each generated insight.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-devops-guru/src/commands/index.ts b/clients/client-devops-guru/src/commands/index.ts index 892e05585765..629c5d78bab2 100644 --- a/clients/client-devops-guru/src/commands/index.ts +++ b/clients/client-devops-guru/src/commands/index.ts @@ -4,6 +4,9 @@ export * from "./DescribeAccountOverviewCommand"; export * from "./DescribeAnomalyCommand"; export * from "./DescribeFeedbackCommand"; export * from "./DescribeInsightCommand"; +export * from "./DescribeOrganizationHealthCommand"; +export * from "./DescribeOrganizationOverviewCommand"; +export * from "./DescribeOrganizationResourceCollectionHealthCommand"; export * from "./DescribeResourceCollectionHealthCommand"; export * from "./DescribeServiceIntegrationCommand"; export * from "./GetCostEstimationCommand"; @@ -12,10 +15,12 @@ export * from "./ListAnomaliesForInsightCommand"; export * from "./ListEventsCommand"; export * from "./ListInsightsCommand"; export * from "./ListNotificationChannelsCommand"; +export * from "./ListOrganizationInsightsCommand"; export * from "./ListRecommendationsCommand"; export * from "./PutFeedbackCommand"; export * from "./RemoveNotificationChannelCommand"; export * from "./SearchInsightsCommand"; +export * from "./SearchOrganizationInsightsCommand"; export * from "./StartCostEstimationCommand"; export * from "./UpdateResourceCollectionCommand"; export * from "./UpdateServiceIntegrationCommand"; diff --git a/clients/client-devops-guru/src/models/models_0.ts b/clients/client-devops-guru/src/models/models_0.ts index db39464e2234..bdef64bf006b 100644 --- a/clients/client-devops-guru/src/models/models_0.ts +++ b/clients/client-devops-guru/src/models/models_0.ts @@ -1,9 +1,10 @@ import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; /** - *You don't have permissions to perform the requested operation. The user or role that is making the request must have at - * least one IAM permissions policy attached that grants the required permissions. For more information, see - * Access Management in the IAM User Guide.
+ *You don't have permissions to perform the requested operation. The user or role that + * is making the request must have at least one IAM permissions policy attached that grants + * the required permissions. For more information, see Access Management in the + * IAM User Guide.
*/ export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; @@ -20,16 +21,70 @@ export namespace AccessDeniedException { }); } +/** + *Information about the number of open reactive and proactive insights that can be used + * to gauge the health of your system.
+ */ +export interface AccountInsightHealth { + /** + *An integer that specifies the number of open proactive insights in your Amazon Web Services + * account.
+ */ + OpenProactiveInsights?: number; + + /** + *An integer that specifies the number of open reactive insights in your Amazon Web Services + * account.
+ */ + OpenReactiveInsights?: number; +} + +export namespace AccountInsightHealth { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AccountInsightHealth): any => ({ + ...obj, + }); +} + +/** + *Returns the number of open reactive insights, the number of open proactive insights, + * and the number of metrics analyzed in your Amazon Web Services account. Use these numbers to gauge the + * health of operations in your Amazon Web Services account.
+ */ +export interface AccountHealth { + /** + *The ID of the Amazon Web Services account.
+ */ + AccountId?: string; + + /** + *Information about the health of the Amazon Web Services resources in your account, including the + * number of open proactive, open reactive insights, and the Mean Time to Recover (MTTR) of closed insights. + *
+ */ + Insight?: AccountInsightHealth; +} + +export namespace AccountHealth { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AccountHealth): any => ({ + ...obj, + }); +} + /** *Contains the Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic.
- * - *If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission + *
If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission * to it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. * For more information, see Permissions * for cross account Amazon SNS topics.
- *If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions + *
If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key Management Service customer-managed key (CMK), then you must add permissions * to the CMK. For more information, see Permissions for - * AWS KMS–encrypted Amazon SNS topics.
+ * Amazon Web Services KMS–encrypted Amazon SNS topics. */ export interface SnsChannelConfig { /** @@ -54,17 +109,15 @@ export namespace SnsChannelConfig { */ export interface NotificationChannelConfig { /** - *- * Information about a notification channel configured in DevOps Guru to send notifications when insights are created. - *
- * - *If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission + *
Information about a notification channel configured in DevOps Guru to send notifications + * when insights are created.
+ *If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission * to it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. * For more information, see Permissions * for cross account Amazon SNS topics.
- *If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions + *
If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key Management Service customer-managed key (CMK), then you must add permissions * to the CMK. For more information, see Permissions for - * AWS KMS–encrypted Amazon SNS topics.
+ * Amazon Web Services KMS–encrypted Amazon SNS topics. */ Sns: SnsChannelConfig | undefined; } @@ -81,7 +134,7 @@ export namespace NotificationChannelConfig { export interface AddNotificationChannelRequest { /** * A NotificationChannelConfig
object that specifies what type of
- * notification channel to add. The one
+ * notification channel to add. The one
* supported notification channel is Amazon Simple Notification Service (Amazon SNS).
- * The ID of the added notification channel. - *
+ *The ID of the added notification channel.
*/ Id: string | undefined; } @@ -115,25 +166,19 @@ export namespace AddNotificationChannelResponse { } /** - *- * An exception that is thrown when a conflict occurs. - *
+ *An exception that is thrown when a conflict occurs.
*/ export interface ConflictException extends __SmithyException, $MetadataBearer { name: "ConflictException"; $fault: "client"; Message: string | undefined; /** - *- * The ID of the AWS resource in which a conflict occurred. - *
+ *The ID of the Amazon Web Services resource in which a conflict occurred.
*/ ResourceId: string | undefined; /** - *- * The type of the AWS resource in which a conflict occurred. - *
+ *The type of the Amazon Web Services resource in which a conflict occurred.
*/ ResourceType: string | undefined; } @@ -155,10 +200,8 @@ export interface InternalServerException extends __SmithyException, $MetadataBea $fault: "server"; Message: string | undefined; /** - *- * The number of seconds after which the action that caused the internal server - * exception can be retried. - *
+ *The number of seconds after which the action that caused the internal server + * exception can be retried.
*/ RetryAfterSeconds?: number; } @@ -180,16 +223,12 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB $fault: "client"; Message: string | undefined; /** - *- * The ID of the AWS resource that could not be found. - *
+ *The ID of the Amazon Web Services resource that could not be found.
*/ ResourceId: string | undefined; /** - *- * The type of the AWS resource that could not be found. - *
+ *The type of the Amazon Web Services resource that could not be found.
*/ ResourceType: string | undefined; } @@ -229,24 +268,18 @@ export interface ThrottlingException extends __SmithyException, $MetadataBearer $fault: "client"; Message: string | undefined; /** - *- * The code of the quota that was exceeded, causing the throttling exception. - *
+ *The code of the quota that was exceeded, causing the throttling exception.
*/ QuotaCode?: string; /** - *- * The code of the service that caused the throttling exception. - *
+ *The code of the service that caused the throttling exception.
*/ ServiceCode?: string; /** - *- * The number of seconds after which the action that caused the throttling - * exception can be retried. - *
+ *The number of seconds after which the action that caused the throttling exception can + * be retried.
*/ RetryAfterSeconds?: number; } @@ -261,23 +294,17 @@ export namespace ThrottlingException { } /** - *- * The field associated with the validation exception. - *
+ *The field associated with the validation exception.
*/ export interface ValidationExceptionField { /** - *- * The name of the field. - *
+ *The name of the field.
*/ Name: string | undefined; /** - *- * The message associated with the validation exception with information to help - * determine its cause. - *
+ *The message associated with the validation exception with information to help + * determine its cause.
*/ Message: string | undefined; } @@ -299,31 +326,24 @@ export enum ValidationExceptionReason { } /** - *- * Contains information about data passed in to a field during a request that is not valid. - *
+ *Contains information about data passed in to a field during a request that is not + * valid.
*/ export interface ValidationException extends __SmithyException, $MetadataBearer { name: "ValidationException"; $fault: "client"; /** - *- * A message that describes the validation exception. - *
+ *A message that describes the validation exception.
*/ Message: string | undefined; /** - *- * The reason the validation exception was thrown. - *
+ *The reason the validation exception was thrown.
*/ Reason?: ValidationExceptionReason | string; /** - *- * An array of fields that are associated with the validation exception. - *
+ *An array of fields that are associated with the validation exception.
*/ Fields?: ValidationExceptionField[]; } @@ -338,24 +358,18 @@ export namespace ValidationException { } /** - *
- * A time range that specifies when DevOps Guru opens and then closes an anomaly. This is different from
- * AnomalyTimeRange
, which specifies the time range when DevOps Guru actually observes
- * the anomalous behavior.
- *
A time range that specifies when DevOps Guru opens and then closes an anomaly. This
+ * is different from AnomalyTimeRange
, which specifies the time range when
+ * DevOps Guru actually observes the anomalous behavior.
- * The time when an anomaly is opened. - *
+ *The time when an anomaly is opened.
*/ OpenTime: Date | undefined; /** - *- * The time when an anomaly is closed. - *
+ *The time when an anomaly is closed.
*/ CloseTime?: Date; } @@ -376,23 +390,19 @@ export enum AnomalySeverity { } /** - *The dimension of a Amazon CloudWatch metric that is used when DevOps Guru analyzes the resources in your - * account for operational problems and anomalous behavior. A dimension is a name/value pair - * that is part of the identity of a metric. A metric can have up to 10 dimensions. For more - * information, see Dimensions in the Amazon CloudWatch User Guide.
+ *The dimension of a Amazon CloudWatch metric that is used when DevOps Guru analyzes the resources in + * your account for operational problems and anomalous behavior. A dimension is a + * name/value pair that is part of the identity of a metric. A metric can have up to 10 + * dimensions. For more information, see Dimensions in the Amazon CloudWatch User Guide.
*/ export interface CloudWatchMetricsDimension { /** - *- * The name of the CloudWatch dimension. - *
+ *The name of the CloudWatch dimension.
*/ Name?: string; /** - *- * The value of the CloudWatch dimension. - *
+ *The value of the CloudWatch dimension.
*/ Value?: string; } @@ -406,6 +416,62 @@ export namespace CloudWatchMetricsDimension { }); } +export enum CloudWatchMetricDataStatusCode { + COMPLETE = "Complete", + INTERNAL_ERROR = "InternalError", + PARTIAL_DATA = "PartialData", +} + +/** + *A pair that contains metric values at the respective timestamp.
+ */ +export interface TimestampMetricValuePair { + /** + *A Timestamp
that specifies the time the event occurred.
Value of the anomalous metric data point at respective Timestamp.
+ */ + MetricValue?: number; +} + +export namespace TimestampMetricValuePair { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TimestampMetricValuePair): any => ({ + ...obj, + }); +} + +/** + *Contains information about the analyzed metrics that displayed anomalous behavior. + *
+ */ +export interface CloudWatchMetricsDataSummary { + /** + *This is a list of cloudwatch metric values at given timestamp.
+ */ + TimestampMetricValuePairList?: TimestampMetricValuePair[]; + + /** + *This is enum of the status showing whether the metric value pair list has Partial or + * Complete data or there was an error.
+ */ + StatusCode?: CloudWatchMetricDataStatusCode | string; +} + +export namespace CloudWatchMetricsDataSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CloudWatchMetricsDataSummary): any => ({ + ...obj, + }); +} + export enum CloudWatchMetricsStat { AVERAGE = "Average", MAXIMUM = "Maximum", @@ -418,55 +484,46 @@ export enum CloudWatchMetricsStat { } /** - *- * Information about an Amazon CloudWatch metric. - *
+ *Information about an Amazon CloudWatch metric.
*/ export interface CloudWatchMetricsDetail { /** - *- * The name of the CloudWatch metric. - *
+ *The name of the CloudWatch metric.
*/ MetricName?: string; /** - *- * The namespace of the CloudWatch metric. A namespace is a container for CloudWatch metrics. + *
The namespace of the CloudWatch metric. A namespace is a container for CloudWatch metrics. *
*/ Namespace?: string; /** - *- * An array of CloudWatch dimensions associated with - *
+ *An array of CloudWatch dimensions associated with
*/ Dimensions?: CloudWatchMetricsDimension[]; /** - *- * The type of statistic associated with the CloudWatch metric. For more information, see - * Statistics in the - * Amazon CloudWatch User Guide. - *
+ *The type of statistic associated with the CloudWatch metric. For more information, see + * Statistics in the Amazon CloudWatch User Guide.
*/ Stat?: CloudWatchMetricsStat | string; /** - *
- * The unit of measure used for the CloudWatch metric. For example, Bytes
, Seconds
,
- * Count
, and Percent
.
- *
The unit of measure used for the CloudWatch metric. For example, Bytes
,
+ * Seconds
, Count
, and Percent
.
- * The length of time associated with the CloudWatch metric in number of seconds. - *
+ *The length of time associated with the CloudWatch metric in number of seconds.
*/ Period?: number; + + /** + *This object returns anomaly metric data.
+ */ + MetricDataSummary?: CloudWatchMetricsDataSummary; } export namespace CloudWatchMetricsDetail { @@ -479,8 +536,8 @@ export namespace CloudWatchMetricsDetail { } /** - *Details about the source of the anomalous operational data that triggered the anomaly. The - * one supported source is Amazon CloudWatch metrics.
+ *Details about the source of the anomalous operational data that triggered the + * anomaly. The one supported source is Amazon CloudWatch metrics.
*/ export interface AnomalySourceDetails { /** @@ -505,17 +562,13 @@ export enum AnomalyStatus { } /** - *
- * A time range that specifies when the observed unusual behavior in an anomaly started and ended. This is different from
- * AnomalyReportedTimeRange
, which specifies the time range when DevOps Guru opens and then closes
- * an anomaly.
- *
A time range that specifies when the observed unusual behavior in an anomaly started
+ * and ended. This is different from AnomalyReportedTimeRange
, which specifies
+ * the time range when DevOps Guru opens and then closes an anomaly.
- * The time when the anomalous behavior started. - *
+ *The time when the anomalous behavior started.
*/ StartTime: Date | undefined; @@ -547,29 +600,26 @@ export namespace DescribeAccountHealthRequest { export interface DescribeAccountHealthResponse { /** - *- * An integer that specifies the number of open reactive insights in your AWS account. - *
+ *An integer that specifies the number of open reactive insights in your Amazon Web Services account. + *
*/ OpenReactiveInsights: number | undefined; /** - *- * An integer that specifies the number of open proactive insights in your AWS account. - *
+ *An integer that specifies the number of open proactive insights in your Amazon Web Services + * account.
*/ OpenProactiveInsights: number | undefined; /** - *- * An integer that specifies the number of metrics that have been analyzed in your AWS account. - *
+ *An integer that specifies the number of metrics that have been analyzed in your Amazon Web Services + * account.
*/ MetricsAnalyzed: number | undefined; /** - *The number of Amazon DevOps Guru resource analysis hours billed to the current AWS account in the last hour. - *
+ *The number of Amazon DevOps Guru resource analysis hours billed to the current Amazon Web Services account in + * the last hour.
*/ ResourceHours: number | undefined; } @@ -585,18 +635,16 @@ export namespace DescribeAccountHealthResponse { export interface DescribeAccountOverviewRequest { /** - *- * The start of the time range passed in. The start time granularity is at the - * day level. The floor of the start time is used. Returned information occurred after this day. - *
+ *The start of the time range passed in. The start time granularity is at the day + * level. The floor of the start time is used. Returned information occurred after this + * day.
*/ FromTime: Date | undefined; /** - *- * The end of the time range passed in. The start time granularity is at the - * day level. The floor of the start time is used. Returned information occurred before this day. If this is not specified, then the current day is used. - *
+ *The end of the time range passed in. The start time granularity is at the day level. + * The floor of the start time is used. Returned information occurred before this day. If + * this is not specified, then the current day is used.
*/ ToTime?: Date; } @@ -612,26 +660,20 @@ export namespace DescribeAccountOverviewRequest { export interface DescribeAccountOverviewResponse { /** - *- * An integer that specifies the number of open reactive insights in your AWS account that were created during the - * time range passed in. - *
+ *An integer that specifies the number of open reactive insights in your Amazon Web Services account + * that were created during the time range passed in.
*/ ReactiveInsights: number | undefined; /** - *- * An integer that specifies the number of open proactive insights in your AWS account that were created during the - * time range passed in. - *
+ *An integer that specifies the number of open proactive insights in your Amazon Web Services account + * that were created during the time range passed in.
*/ ProactiveInsights: number | undefined; /** - *- * The Mean Time to Recover (MTTR) for all closed insights that were created during the - * time range passed in. - *
+ *The Mean Time to Recover (MTTR) for all closed insights that were created during the time range passed in. + *
*/ MeanTimeToRecoverInMilliseconds: number | undefined; } @@ -647,11 +689,14 @@ export namespace DescribeAccountOverviewResponse { export interface DescribeAnomalyRequest { /** - *- * The ID of the anomaly. - *
+ *The ID of the anomaly.
*/ Id: string | undefined; + + /** + *The ID of the member account.
+ */ + AccountId?: string; } export namespace DescribeAnomalyRequest { @@ -664,22 +709,18 @@ export namespace DescribeAnomalyRequest { } /** - *- * The time range during which anomalous behavior in a proactive anomaly or an insight is expected to occur. - *
+ *The time range during which anomalous behavior in a proactive anomaly or an insight + * is expected to occur.
*/ export interface PredictionTimeRange { /** - *- * The time range during which a metric limit is expected to be exceeded. This applies to proactive insights only. - *
+ *The time range during which a metric limit is expected to be exceeded. This applies + * to proactive insights only.
*/ StartTime: Date | undefined; /** - *- * The time when the behavior in a proactive insight is expected to end. - *
+ *The time when the behavior in a proactive insight is expected to end.
*/ EndTime?: Date; } @@ -694,17 +735,14 @@ export namespace PredictionTimeRange { } /** - *- * Information about AWS CloudFormation stacks. You can use up to 500 stacks to specify which AWS resources in your account to analyze. - * For more information, see Stacks - * in the AWS CloudFormation User Guide. - *
+ *Information about Amazon Web Services CloudFormation stacks. You can use up to 500 + * stacks to specify which Amazon Web Services resources in your account to analyze. For more + * information, see Stacks in the + * Amazon Web Services CloudFormation User Guide.
*/ export interface CloudFormationCollection { /** - *- * An array of CloudFormation stack names. - *
+ *An array of CloudFormation stack names.
*/ StackNames?: string[]; } @@ -719,16 +757,14 @@ export namespace CloudFormationCollection { } /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ export interface ResourceCollection { /** - *An array of the names of AWS CloudFormation stacks. The stacks define AWS resources - * that DevOps Guru analyzes. You can specify up to 500 AWS CloudFormation stacks. - *
+ *An array of the names of Amazon Web Services CloudFormation stacks. The stacks define Amazon Web Services resources that + * DevOps Guru analyzes. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ CloudFormation?: CloudFormationCollection; } @@ -743,43 +779,34 @@ export namespace ResourceCollection { } /** - *Information about an anomaly. This object is returned by ListAnomalies
.
Information about an anomaly. This object is returned by
+ * ListAnomalies
.
- * The ID of a proactive anomaly. - *
+ *The ID of a proactive anomaly.
*/ Id?: string; /** - *- * The severity of a proactive anomaly. - *
+ *The severity of a proactive anomaly.
*/ Severity?: AnomalySeverity | string; /** - *- * The status of a proactive anomaly. - *
+ *The status of a proactive anomaly.
*/ Status?: AnomalyStatus | string; /** - *- * The time of the anomaly's most recent update. - *
+ *The time of the anomaly's most recent update.
*/ UpdateTime?: Date; /** - *
- * A time range that specifies when the observed unusual behavior in an anomaly started and ended. This is different from
- * AnomalyReportedTimeRange
, which specifies the time range when DevOps Guru opens and then closes
- * an anomaly.
- *
A time range that specifies when the observed unusual behavior in an anomaly started
+ * and ended. This is different from AnomalyReportedTimeRange
, which specifies
+ * the time range when DevOps Guru opens and then closes an anomaly.
- * The time range during which anomalous behavior in a proactive anomaly or an insight is expected to occur. - *
+ *The time range during which anomalous behavior in a proactive anomaly or an insight + * is expected to occur.
*/ PredictionTimeRange?: PredictionTimeRange; /** - *- * Details about the source of the analyzed operational data that triggered the anomaly. The one supported source is Amazon CloudWatch metrics. - *
+ *Details about the source of the analyzed operational data that triggered the anomaly. + * The one supported source is Amazon CloudWatch metrics.
*/ SourceDetails?: AnomalySourceDetails; /** - *- * The ID of the insight that contains this anomaly. An insight is composed of related anomalies. - *
+ *The ID of the insight that contains this anomaly. An insight is composed of related + * anomalies.
*/ AssociatedInsightId?: string; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; /** - *- * A threshold that was exceeded by behavior in analyzed resources. Exceeding this - * threshold is related to the anomalous behavior that generated this anomaly. - *
+ *A threshold that was exceeded by behavior in analyzed resources. Exceeding this + * threshold is related to the anomalous behavior that generated this anomaly.
*/ Limit?: number; } @@ -838,7 +859,8 @@ export namespace ProactiveAnomaly { } /** - *Details about a reactive anomaly. This object is returned by ListAnomalies
.
Details about a reactive anomaly. This object is returned by
+ * ListAnomalies
.
- * The status of the anomaly. - *
+ *The status of the anomaly.
*/ Status?: AnomalyStatus | string; /** - *
- * A time range that specifies when the observed unusual behavior in an anomaly started and ended. This is different from
- * AnomalyReportedTimeRange
, which specifies the time range when DevOps Guru opens and then closes
- * an anomaly.
- *
A time range that specifies when the observed unusual behavior in an anomaly started
+ * and ended. This is different from AnomalyReportedTimeRange
, which specifies
+ * the time range when DevOps Guru opens and then closes an anomaly.
- * Details about the source of the analyzed operational data that triggered the anomaly. The one supported source is Amazon CloudWatch metrics. - *
+ *Details about the source of the analyzed operational data that triggered the anomaly. + * The one supported source is Amazon CloudWatch metrics.
*/ SourceDetails?: AnomalySourceDetails; /** - *- * The ID of the insight that contains this anomaly. An insight is composed of related anomalies. - *
+ *The ID of the insight that contains this anomaly. An insight is composed of related + * anomalies.
*/ AssociatedInsightId?: string; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; } @@ -908,16 +923,12 @@ export namespace ReactiveAnomaly { export interface DescribeAnomalyResponse { /** - *
- * A ReactiveAnomaly
object that represents the requested anomaly.
- *
A ReactiveAnomaly
object that represents the requested anomaly.
- * A ProactiveAnomaly
object that represents the requested anomaly.
- *
A ProactiveAnomaly
object that represents the requested anomaly.
- * The ID of the insight for which the feedback was provided. - *
+ *The ID of the insight for which the feedback was provided.
*/ InsightId?: string; } @@ -958,22 +967,16 @@ export enum InsightFeedbackOption { } /** - *- * Information about insight feedback received from a customer. - *
+ *Information about insight feedback received from a customer.
*/ export interface InsightFeedback { /** - *- * The insight feedback ID. - *
+ *The insight feedback ID.
*/ Id?: string; /** - *- * The feedback provided by the customer. - *
+ *The feedback provided by the customer.
*/ Feedback?: InsightFeedbackOption | string; } @@ -989,9 +992,7 @@ export namespace InsightFeedback { export interface DescribeFeedbackResponse { /** - *- * Information about insight feedback received from a customer. - *
+ *Information about insight feedback received from a customer.
*/ InsightFeedback?: InsightFeedback; } @@ -1007,11 +1008,14 @@ export namespace DescribeFeedbackResponse { export interface DescribeInsightRequest { /** - *- * The ID of the insight. - *
+ *The ID of the insight.
*/ Id: string | undefined; + + /** + *The ID of the member account in the organization.
+ */ + AccountId?: string; } export namespace DescribeInsightRequest { @@ -1029,16 +1033,12 @@ export namespace DescribeInsightRequest { */ export interface InsightTimeRange { /** - *- * The time when the behavior described in an insight started. - *
+ *The time when the behavior described in an insight started.
*/ StartTime: Date | undefined; /** - *- * The time when the behavior described in an insight ended. - *
+ *The time when the behavior described in an insight ended.
*/ EndTime?: Date; } @@ -1064,7 +1064,8 @@ export enum InsightStatus { } /** - *Details about a proactive insight. This object is returned by ListInsights
.
Details about a proactive insight. This object is returned by
+ * ListInsights
.
- * The time range during which anomalous behavior in a proactive anomaly or an insight is expected to occur. - *
+ *The time range during which anomalous behavior in a proactive anomaly or an insight + * is expected to occur.
*/ PredictionTimeRange?: PredictionTimeRange; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; /** - *- * The ID of the AWS System Manager OpsItem created for this insight. You must enable - * the creation of OpstItems insights before they are created for each insight. - *
+ *The ID of the Amazon Web Services System Manager OpsItem created for this insight. You must enable + * the creation of OpstItems insights before they are created for each insight.
*/ SsmOpsItemId?: string; } @@ -1127,36 +1124,27 @@ export namespace ProactiveInsight { } /** - *
- * Information about a reactive insight. This object is returned by ListInsights
.
- *
Information about a reactive insight. This object is returned by
+ * ListInsights
.
- * The ID of a reactive insight. - *
+ *The ID of a reactive insight.
*/ Id?: string; /** - *- * The name of a reactive insight. - *
+ *The name of a reactive insight.
*/ Name?: string; /** - *- * The severity of a reactive insight. - *
+ *The severity of a reactive insight.
*/ Severity?: InsightSeverity | string; /** - *- * The status of a reactive insight. - *
+ *The status of a reactive insight.
*/ Status?: InsightStatus | string; @@ -1167,18 +1155,15 @@ export interface ReactiveInsight { InsightTimeRange?: InsightTimeRange; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; /** - *- * The ID of the AWS System Manager OpsItem created for this insight. You must enable - * the creation of OpstItems insights before they are created for each insight. - *
+ *The ID of the Amazon Web Services System Manager OpsItem created for this insight. You must enable + * the creation of OpstItems insights before they are created for each insight.
*/ SsmOpsItemId?: string; } @@ -1194,16 +1179,12 @@ export namespace ReactiveInsight { export interface DescribeInsightResponse { /** - *
- * A ProactiveInsight
object that represents the requested insight.
- *
A ProactiveInsight
object that represents the requested insight.
- * A ReactiveInsight
object that represents the requested insight.
- *
A ReactiveInsight
object that represents the requested insight.
- * An AWS resource collection type. This type specifies how analyzed AWS resources are defined. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *The ID of the Amazon Web Services account.
*/ - ResourceCollectionType: ResourceCollectionType | string | undefined; + AccountIds?: string[]; /** - *The pagination token to use to retrieve - * the next page of results for this operation. If this value is null, it retrieves the first page.
+ *The ID of the organizational unit.
*/ - NextToken?: string; + OrganizationalUnitIds?: string[]; } -export namespace DescribeResourceCollectionHealthRequest { +export namespace DescribeOrganizationHealthRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeResourceCollectionHealthRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeOrganizationHealthRequest): any => ({ ...obj, }); } -/** - *- * Information about the number of open reactive and proactive insights that can be - * used to gauge the health of your system. - *
- */ -export interface InsightHealth { +export interface DescribeOrganizationHealthResponse { /** - *- * The number of open proactive insights. - *
+ *An integer that specifies the number of open reactive insights in your Amazon Web Services + * account.
*/ - OpenProactiveInsights?: number; + OpenReactiveInsights: number | undefined; /** - *- * The number of open reactive insights. - *
+ *An integer that specifies the number of open proactive insights in your Amazon Web Services + * account.
*/ - OpenReactiveInsights?: number; + OpenProactiveInsights: number | undefined; /** - *- * The Meant Time to Recover (MTTR) for the insight. - *
+ *An integer that specifies the number of metrics that have been analyzed in your + * organization.
*/ - MeanTimeToRecoverInMilliseconds?: number; + MetricsAnalyzed: number | undefined; + + /** + *The number of Amazon DevOps Guru resource analysis hours billed to the current Amazon Web Services account in + * the last hour.
+ */ + ResourceHours: number | undefined; } -export namespace InsightHealth { +export namespace DescribeOrganizationHealthResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeOrganizationHealthResponse): any => ({ + ...obj, + }); +} + +export interface DescribeOrganizationOverviewRequest { + /** + *The start of the time range passed in. The start time granularity is at the day + * level. The floor of the start time is used. Returned information occurred after this + * day.
+ */ + FromTime: Date | undefined; + + /** + *The end of the time range passed in. The start time granularity is at the day level. + * The floor of the start time is used. Returned information occurred before this day. If + * this is not specified, then the current day is used.
+ */ + ToTime?: Date; + + /** + *The ID of the Amazon Web Services account.
+ */ + AccountIds?: string[]; + + /** + *The ID of the organizational unit.
+ */ + OrganizationalUnitIds?: string[]; +} + +export namespace DescribeOrganizationOverviewRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeOrganizationOverviewRequest): any => ({ + ...obj, + }); +} + +export interface DescribeOrganizationOverviewResponse { + /** + *An integer that specifies the number of open reactive insights in your Amazon Web Services + * account.
+ */ + ReactiveInsights: number | undefined; + + /** + *An integer that specifies the number of open proactive insights in your Amazon Web Services + * account.
+ */ + ProactiveInsights: number | undefined; +} + +export namespace DescribeOrganizationOverviewResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeOrganizationOverviewResponse): any => ({ + ...obj, + }); +} + +export enum OrganizationResourceCollectionType { + AWS_ACCOUNT = "AWS_ACCOUNT", + AWS_CLOUD_FORMATION = "AWS_CLOUD_FORMATION", + AWS_SERVICE = "AWS_SERVICE", +} + +export interface DescribeOrganizationResourceCollectionHealthRequest { + /** + *An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources + * are defined. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
+ */ + OrganizationResourceCollectionType: OrganizationResourceCollectionType | string | undefined; + + /** + *The ID of the Amazon Web Services account.
+ */ + AccountIds?: string[]; + + /** + *The ID of the organizational unit.
+ */ + OrganizationalUnitIds?: string[]; + + /** + *The pagination token to use to retrieve + * the next page of results for this operation. If this value is null, it retrieves the first page.
+ */ + NextToken?: string; + + /** + *The maximum number of results to return with a single call.
+ * To retrieve the remaining results, make another call with the returned nextToken
value.
Information about the number of open reactive and proactive insights that can be used + * to gauge the health of your system.
+ */ +export interface InsightHealth { + /** + *The number of open proactive insights.
+ */ + OpenProactiveInsights?: number; + + /** + *The number of open reactive insights.
+ */ + OpenReactiveInsights?: number; + + /** + *The Meant Time to Recover (MTTR) for the insight.
+ */ + MeanTimeToRecoverInMilliseconds?: number; +} + +export namespace InsightHealth { /** * @internal */ @@ -1286,23 +1389,19 @@ export namespace InsightHealth { } /** - *- * Information about the health of AWS resources in your account that are specified by an AWS CloudFormation stack. - *
+ *Information about the health of Amazon Web Services resources in your account that are specified by + * an Amazon Web Services CloudFormation stack.
*/ export interface CloudFormationHealth { /** - *- * The name of the CloudFormation stack. - *
+ *The name of the CloudFormation stack.
*/ StackName?: string; /** - *- * Information about the health of the AWS resources in your account that are specified by an AWS CloudFormation stack, including - * the number of open proactive, open reactive insights, and the Mean Time to Recover (MTTR) of closed insights. - *
+ *Information about the health of the Amazon Web Services resources in your account that are + * specified by an Amazon Web Services CloudFormation stack, including the number of open proactive, open reactive + * insights, and the Mean Time to Recover (MTTR) of closed insights.
*/ Insight?: InsightHealth; } @@ -1317,16 +1416,17 @@ export namespace CloudFormationHealth { } /** - *Contains the number of open proactive and reactive insights in an analyzed AWS service.
+ *Contains the number of open proactive and reactive insights in an analyzed Amazon Web Services + * service.
*/ export interface ServiceInsightHealth { /** - *The number of open proactive insights in the AWS service
+ *The number of open proactive insights in the Amazon Web Services service
*/ OpenProactiveInsights?: number; /** - *The number of open reactive insights in the AWS service
+ *The number of open reactive insights in the Amazon Web Services service
*/ OpenReactiveInsights?: number; } @@ -1369,17 +1469,18 @@ export enum ServiceName { } /** - *Represents the health of an AWS service.
+ *Represents the health of an Amazon Web Services service.
*/ export interface ServiceHealth { /** - *The name of the AWS service.
+ *The name of the Amazon Web Services service.
*/ ServiceName?: ServiceName | string; /** - *Represents the health of an AWS service. This is a ServiceInsightHealth
that
- * contains the number of open proactive and reactive insights for this service.
Represents the health of an Amazon Web Services service. This is a ServiceInsightHealth
+ * that contains the number of open proactive and reactive insights for this
+ * service.
The returned CloudFormationHealthOverview
object that contains an
+ * InsightHealthOverview
object with the requested system health
+ * information.
An array of ServiceHealth
objects that describes the health of the Amazon Web Services
+ * services associated with the resources in the collection.
The name of the organization's account.
+ */ + Account?: AccountHealth[]; + + /** + *The pagination token to use to retrieve + * the next page of results for this operation. If there are no more pages, this value is null.
+ */ + NextToken?: string; +} + +export namespace DescribeOrganizationResourceCollectionHealthResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeOrganizationResourceCollectionHealthResponse): any => ({ + ...obj, + }); +} + +export enum ResourceCollectionType { + AWS_CLOUD_FORMATION = "AWS_CLOUD_FORMATION", + AWS_SERVICE = "AWS_SERVICE", +} + +export interface DescribeResourceCollectionHealthRequest { + /** + *An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources + * are defined. The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
+ */ + ResourceCollectionType: ResourceCollectionType | string | undefined; + + /** + *The pagination token to use to retrieve + * the next page of results for this operation. If this value is null, it retrieves the first page.
+ */ + NextToken?: string; +} + +export namespace DescribeResourceCollectionHealthRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeResourceCollectionHealthRequest): any => ({ + ...obj, + }); +} + export interface DescribeResourceCollectionHealthResponse { /** - *
- * The returned CloudFormationHealthOverview
object that contains an InsightHealthOverview
object with
- * the requested system health information.
- *
The returned CloudFormationHealthOverview
object that contains an
+ * InsightHealthOverview
object with the requested system health
+ * information.
An array of ServiceHealth
objects that describes the health of the AWS services
- * associated with the resources in the collection.
An array of ServiceHealth
objects that describes the health of the Amazon Web Services
+ * services associated with the resources in the collection.
- * Information about whether DevOps Guru is configured to create an OpsItem in AWS Systems Manager OpsCenter for each created insight. - *
+ *Information about whether DevOps Guru is configured to create an OpsItem in Amazon Web Services Systems Manager + * OpsCenter for each created insight.
*/ export interface OpsCenterIntegration { /** - *- * Specifies if DevOps Guru is enabled to create an AWS Systems Manager OpsItem for each created insight. - *
+ *Specifies if DevOps Guru is enabled to create an Amazon Web Services Systems Manager OpsItem for each created + * insight.
*/ OptInStatus?: OptInStatus | string; } @@ -1464,15 +1626,13 @@ export namespace OpsCenterIntegration { } /** - *- * Information about the integration of DevOps Guru with another AWS service, such as AWS Systems Manager. - *
+ *Information about the integration of DevOps Guru with another Amazon Web Services service, such as + * Amazon Web Services Systems Manager.
*/ export interface ServiceIntegrationConfig { /** - *- * Information about whether DevOps Guru is configured to create an OpsItem in AWS Systems Manager OpsCenter for each created insight. - *
+ *Information about whether DevOps Guru is configured to create an OpsItem in Amazon Web Services Systems Manager + * OpsCenter for each created insight.
*/ OpsCenter?: OpsCenterIntegration; } @@ -1488,9 +1648,8 @@ export namespace ServiceIntegrationConfig { export interface DescribeServiceIntegrationResponse { /** - *- * Information about the integration of DevOps Guru with another AWS service, such as AWS Systems Manager. - *
+ *Information about the integration of DevOps Guru with another Amazon Web Services service, such as + * Amazon Web Services Systems Manager.
*/ ServiceIntegration?: ServiceIntegrationConfig; } @@ -1527,24 +1686,23 @@ export enum CostEstimationServiceResourceState { } /** - *An object that contains information about the estimated monthly cost to - * analyze an AWS resource. For more information, + *
An object that contains information about the estimated monthly cost to analyze an + * Amazon Web Services resource. For more information, * see Estimate your * Amazon DevOps Guru costs and * Amazon DevOps Guru pricing.
*/ export interface ServiceResourceCost { /** - *The type of the AWS resource.
+ *The type of the Amazon Web Services resource.
*/ Type?: string; /** *The state of the resource. The resource is ACTIVE
if it produces metrics,
- * events, or logs within an hour, otherwise it is INACTIVE
. You pay for
- * the number of active AWS resource hours analyzed for each resource. Inactive resources are
- * not charged.
- *
INACTIVE
. You pay for the
+ * number of active Amazon Web Services resource hours analyzed for each resource. Inactive resources are
+ * not charged.
*/
State?: CostEstimationServiceResourceState | string;
@@ -1564,7 +1722,8 @@ export interface ServiceResourceCost {
UnitCost?: number;
/**
- * The total estimated monthly cost to analyze the active resources for this resource.
+ *The total estimated monthly cost to analyze the active resources for this + * resource.
*/ Cost?: number; } @@ -1579,10 +1738,11 @@ export namespace ServiceResourceCost { } /** - *Information about an AWS CloudFormation stack used to create a monthly cost estimate for DevOps Guru to analyze - * AWS resources. The maximum number of stacks you can specify for a cost estimate is one. The estimate created is for the cost - * to analyze the AWS resources defined by the stack. For more information, see Stacks - * in the AWS CloudFormation User Guide.
+ *Information about an Amazon Web Services CloudFormation stack used to create a monthly cost estimate + * for DevOps Guru to analyze Amazon Web Services resources. The maximum number of stacks you can specify for a + * cost estimate is one. The estimate created is for the cost to analyze the Amazon Web Services + * resources defined by the stack. For more information, see Stacks in the + * Amazon Web Services CloudFormation User Guide.
*/ export interface CloudFormationCostEstimationResourceCollectionFilter { /** @@ -1601,16 +1761,15 @@ export namespace CloudFormationCostEstimationResourceCollectionFilter { } /** - *Information about a filter used to specify which AWS resources are analyzed to create - * a monthly DevOps Guru cost estimate. For more information, + *
Information about a filter used to specify which Amazon Web Services resources are analyzed to + * create a monthly DevOps Guru cost estimate. For more information, * see Estimate your * Amazon DevOps Guru costs and - * Amazon DevOps Guru pricing. - *
+ * Amazon DevOps Guru pricing. */ export interface CostEstimationResourceCollectionFilter { /** - *An object that specifies the CloudFormation stack that defines the AWS resources + *
An object that specifies the CloudFormation stack that defines the Amazon Web Services resources * used to create a monthly estimate for DevOps Guru.
*/ CloudFormation?: CloudFormationCostEstimationResourceCollectionFilter; @@ -1656,19 +1815,21 @@ export namespace CostEstimationTimeRange { export interface GetCostEstimationResponse { /** - *The collection of the AWS resources used to create your monthly DevOps Guru cost estimate.
+ *The collection of the Amazon Web Services resources used to create your monthly DevOps Guru cost + * estimate.
*/ ResourceCollection?: CostEstimationResourceCollectionFilter; /** *The status of creating this cost estimate. If it's still in progress, the status
- * ONGOING
is returned. If it is finished, the status COMPLETED
is returned.
ONGOING
is returned. If it is finished, the status
+ * COMPLETED
is returned.
*/
Status?: CostEstimationStatus | string;
/**
- * An array of ResourceCost
objects that each contains details
- * about the monthly cost estimate to analyze one of your AWS resources.
An array of ResourceCost
objects that each contains details about the
+ * monthly cost estimate to analyze one of your Amazon Web Services resources.
The estimated monthly cost to analyze the AWS resources.
- * This value is the sum of the estimated costs to analyze each resource in the Costs
- * object in this response.
The estimated monthly cost to analyze the Amazon Web Services resources. This value is the sum of
+ * the estimated costs to analyze each resource in the Costs
object in this
+ * response.
- * The type of AWS resource collections to return. The one valid value is CLOUD_FORMATION
for
- * AWS CloudFormation stacks.
- *
The type of Amazon Web Services resource collections to return. The one valid value is
+ * CLOUD_FORMATION
for Amazon Web Services CloudFormation stacks.
- * Information about AWS CloudFormation stacks. You can use up to 500 stacks to specify which AWS resources in your account to analyze. - * For more information, see Stacks - * in the AWS CloudFormation User Guide. - *
+ *Information about Amazon Web Services CloudFormation stacks. You can use up to 500 + * stacks to specify which Amazon Web Services resources in your account to analyze. For more + * information, see Stacks in the + * Amazon Web Services CloudFormation User Guide.
*/ export interface CloudFormationCollectionFilter { /** - *- * An array of CloudFormation stack names. - *
+ *An array of CloudFormation stack names.
*/ StackNames?: string[]; } @@ -1751,17 +1907,15 @@ export namespace CloudFormationCollectionFilter { } /** - *- * Information about a filter used to specify which AWS resources are analyzed for anomalous behavior by DevOps Guru. - *
+ *Information about a filter used to specify which Amazon Web Services resources are analyzed for + * anomalous behavior by DevOps Guru.
*/ export interface ResourceCollectionFilter { /** - *- * Information about AWS CloudFormation stacks. You can use up to 500 stacks to specify which AWS resources in your account to analyze. - * For more information, see Stacks - * in the AWS CloudFormation User Guide. - *
+ *Information about Amazon Web Services CloudFormation stacks. You can use up to 500 + * stacks to specify which Amazon Web Services resources in your account to analyze. For more + * information, see Stacks in the + * Amazon Web Services CloudFormation User Guide.
*/ CloudFormation?: CloudFormationCollectionFilter; } @@ -1777,10 +1931,9 @@ export namespace ResourceCollectionFilter { export interface GetResourceCollectionResponse { /** - *- * The requested list of AWS resource collections. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *The requested list of Amazon Web Services resource collections. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollectionFilter; @@ -1801,22 +1954,17 @@ export namespace GetResourceCollectionResponse { } /** - *- * A time range used to specify when the behavior of an insight or anomaly started. + *
A time range used to specify when the behavior of an insight or anomaly started. *
*/ export interface StartTimeRange { /** - *- * The start time of the time range. - *
+ *The start time of the time range.
*/ FromTime?: Date; /** - *- * The end time of the time range. - *
+ *The end time of the time range.
*/ ToTime?: Date; } @@ -1832,17 +1980,13 @@ export namespace StartTimeRange { export interface ListAnomaliesForInsightRequest { /** - *- * The ID of the insight. The returned anomalies belong to this insight. - *
+ *The ID of the insight. The returned anomalies belong to this insight.
*/ InsightId: string | undefined; /** - *- * A time range used to specify when the requested anomalies started. All returned anomalies started - * during this time range. - *
+ *A time range used to specify when the requested anomalies started. All returned + * anomalies started during this time range.
*/ StartTimeRange?: StartTimeRange; @@ -1857,6 +2001,11 @@ export interface ListAnomaliesForInsightRequest { * the next page of results for this operation. If this value is null, it retrieves the first page. */ NextToken?: string; + + /** + *The ID of the Amazon Web Services account.
+ */ + AccountId?: string; } export namespace ListAnomaliesForInsightRequest { @@ -1870,7 +2019,7 @@ export namespace ListAnomaliesForInsightRequest { /** *Details about a proactive anomaly. This object is returned by
- * DescribeAnomaly.
+ * DescribeAnomaly.
*
- * The time of the anomaly's most recent update. - *
+ *The time of the anomaly's most recent update.
*/ UpdateTime?: Date; /** - *
- * A time range that specifies when the observed unusual behavior in an anomaly started and ended. This is different from
- * AnomalyReportedTimeRange
, which specifies the time range when DevOps Guru opens and then closes
- * an anomaly.
- *
A time range that specifies when the observed unusual behavior in an anomaly started
+ * and ended. This is different from AnomalyReportedTimeRange
, which specifies
+ * the time range when DevOps Guru opens and then closes an anomaly.
- * The time range during which anomalous behavior in a proactive anomaly or an insight is expected to occur. - *
+ *The time range during which anomalous behavior in a proactive anomaly or an insight + * is expected to occur.
*/ PredictionTimeRange?: PredictionTimeRange; /** - *- * Details about the source of the analyzed operational data that triggered the anomaly. The one supported source is Amazon CloudWatch metrics. - *
+ *Details about the source of the analyzed operational data that triggered the anomaly. + * The one supported source is Amazon CloudWatch metrics.
*/ SourceDetails?: AnomalySourceDetails; /** - *- * The ID of the insight that contains this anomaly. An insight is composed of related anomalies. - *
+ *The ID of the insight that contains this anomaly. An insight is composed of related + * anomalies.
*/ AssociatedInsightId?: string; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; /** - *- * A threshold that was exceeded by behavior in analyzed resources. Exceeding this - * threshold is related to the anomalous behavior that generated this anomaly. - *
+ *A threshold that was exceeded by behavior in analyzed resources. Exceeding this + * threshold is related to the anomalous behavior that generated this anomaly.
*/ Limit?: number; } @@ -1961,37 +2100,29 @@ export namespace ProactiveAnomalySummary { /** *Details about a reactive anomaly. This object is returned by
- * DescribeAnomaly.
+ * DescribeAnomaly.
*
- * The ID of the reactive anomaly. - *
+ *The ID of the reactive anomaly.
*/ Id?: string; /** - *- * The severity of the reactive anomaly. - *
+ *The severity of the reactive anomaly.
*/ Severity?: AnomalySeverity | string; /** - *- * The status of the reactive anomaly. - *
+ *The status of the reactive anomaly.
*/ Status?: AnomalyStatus | string; /** - *
- * A time range that specifies when the observed unusual behavior in an anomaly started and ended. This is different from
- * AnomalyReportedTimeRange
, which specifies the time range when DevOps Guru opens and then closes
- * an anomaly.
- *
A time range that specifies when the observed unusual behavior in an anomaly started
+ * and ended. This is different from AnomalyReportedTimeRange
, which specifies
+ * the time range when DevOps Guru opens and then closes an anomaly.
- * Details about the source of the analyzed operational data that triggered the anomaly. The one supported source is Amazon CloudWatch metrics. - *
+ *Details about the source of the analyzed operational data that triggered the anomaly. + * The one supported source is Amazon CloudWatch metrics.
*/ SourceDetails?: AnomalySourceDetails; /** - *- * The ID of the insight that contains this anomaly. An insight is composed of related anomalies. - *
+ *The ID of the insight that contains this anomaly. An insight is composed of related + * anomalies.
*/ AssociatedInsightId?: string; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; } @@ -2036,16 +2164,14 @@ export namespace ReactiveAnomalySummary { export interface ListAnomaliesForInsightResponse { /** - *
- * An array of ProactiveAnomalySummary
objects that represent the requested anomalies
- *
An array of ProactiveAnomalySummary
objects that represent the requested
+ * anomalies
- * An array of ReactiveAnomalySummary
objects that represent the requested anomalies
- *
An array of ReactiveAnomalySummary
objects that represent the requested
+ * anomalies
- * The time range during which an AWS event occurred. AWS resource events and metrics are analyzed by DevOps Guru to find anomalous behavior and - * provide recommendations to improve your operational solutions. - *
+ *The time range during which an Amazon Web Services event occurred. Amazon Web Services resource events and + * metrics are analyzed by DevOps Guru to find anomalous behavior and provide recommendations to + * improve your operational solutions.
*/ export interface EventTimeRange { /** - *- * The time when the event started. - *
+ *The time when the event started.
*/ FromTime: Date | undefined; /** - *- * The time when the event ended. - *
+ *The time when the event ended.
*/ ToTime: Date | undefined; } @@ -2110,15 +2231,12 @@ export namespace EventTimeRange { } /** - *
- * Filters you can use to specify which events are returned when ListEvents
is called.
- *
Filters you can use to specify which events are returned when ListEvents
+ * is called.
- * An ID of an insight that is related to the events you want to filter for. - *
+ *An ID of an insight that is related to the events you want to filter for.
*/ InsightId?: string; @@ -2128,31 +2246,26 @@ export interface ListEventsFilters { EventTimeRange?: EventTimeRange; /** - *- * The class of the events you want to filter for, such as an infrastructure change, a deployment, or a schema change. - *
+ *The class of the events you want to filter for, such as an infrastructure change, a + * deployment, or a schema change.
*/ EventClass?: EventClass | string; /** - *- * The AWS source that emitted the events you want to filter for. - *
+ *The Amazon Web Services source that emitted the events you want to filter for.
*/ EventSource?: string; /** - *
- * The source, AWS_CLOUD_TRAIL
or AWS_CODE_DEPLOY
, of the events you want returned.
- *
The source, AWS_CLOUD_TRAIL
or AWS_CODE_DEPLOY
, of the
+ * events you want returned.
- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; } @@ -2168,9 +2281,8 @@ export namespace ListEventsFilters { export interface ListEventsRequest { /** - *
- * A ListEventsFilters
object used to specify which events to return.
- *
A ListEventsFilters
object used to specify which events to return.
+ *
The ID of the Amazon Web Services account.
+ */ + AccountId?: string; } export namespace ListEventsRequest { @@ -2197,30 +2314,23 @@ export namespace ListEventsRequest { } /** - *- * The AWS resource that emitted an event. AWS resource events and metrics are analyzed by DevOps Guru to find anomalous behavior and - * provide recommendations to improve your operational solutions. - *
+ *The Amazon Web Services resource that emitted an event. Amazon Web Services resource events and metrics are + * analyzed by DevOps Guru to find anomalous behavior and provide recommendations to improve your + * operational solutions.
*/ export interface EventResource { /** - *- * The type of resource that emitted an event. - *
+ *The type of resource that emitted an event.
*/ Type?: string; /** - *- * The name of the resource that emitted an event. - *
+ *The name of the resource that emitted an event.
*/ Name?: string; /** - *- * The Amazon Resource Name (ARN) of the resource that emitted an event. - *
+ *The Amazon Resource Name (ARN) of the resource that emitted an event.
*/ Arn?: string; } @@ -2235,24 +2345,20 @@ export namespace EventResource { } /** - *- * An AWS resource event. AWS resource events and metrics are analyzed by DevOps Guru to find anomalous behavior and - * provide recommendations to improve your operational solutions. - *
+ *An Amazon Web Services resource event. Amazon Web Services resource events and metrics are analyzed by DevOps Guru to + * find anomalous behavior and provide recommendations to improve your operational + * solutions.
*/ export interface Event { /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; /** - *- * The ID of the event. - *
+ *The ID of the event.
*/ Id?: string; @@ -2262,37 +2368,30 @@ export interface Event { Time?: Date; /** - *- * The AWS source that emitted the event. - *
+ *The Amazon Web Services source that emitted the event.
*/ EventSource?: string; /** - *- * The name of the event. - *
+ *The name of the event.
*/ Name?: string; /** - *
- * The source, AWS_CLOUD_TRAIL
or AWS_CODE_DEPLOY
, where DevOps Guru analysis found the event.
- *
The source, AWS_CLOUD_TRAIL
or AWS_CODE_DEPLOY
, where DevOps Guru
+ * analysis found the event.
- * The class of the event. The class specifies what the event is related to, such as an infrastructure change, a deployment, or a schema change. - *
+ *The class of the event. The class specifies what the event is related to, such as an + * infrastructure change, a deployment, or a schema change.
*/ EventClass?: EventClass | string; /** - *
- * An EventResource
object that contains information about the resource that emitted the event.
- *
An EventResource
object that contains information about the resource
+ * that emitted the event.
- * A list of the requested events. - *
+ *A list of the requested events.
*/ Events: Event[] | undefined; @@ -2336,22 +2433,18 @@ export enum InsightType { } /** - *- * Used to filter for insights that have any status. - *
+ *Used to filter for insights that have any status.
*/ export interface ListInsightsAnyStatusFilter { /** - *
- * Use to filter for either REACTIVE
or PROACTIVE
insights.
- *
Use to filter for either REACTIVE
or PROACTIVE
insights.
+ *
- * A time range used to specify when the behavior of the filtered insights started. - *
+ *A time range used to specify when the behavior of the filtered insights started. + *
*/ StartTimeRange: StartTimeRange | undefined; } @@ -2366,22 +2459,17 @@ export namespace ListInsightsAnyStatusFilter { } /** - *- * A range of time that specifies when anomalous behavior in an anomaly or insight ended. - *
+ *A range of time that specifies when anomalous behavior in an anomaly or insight + * ended.
*/ export interface EndTimeRange { /** - *- * The earliest end time in the time range. - *
+ *The earliest end time in the time range.
*/ FromTime?: Date; /** - *- * The latest end time in the time range. - *
+ *The latest end time in the time range.
*/ ToTime?: Date; } @@ -2396,22 +2484,18 @@ export namespace EndTimeRange { } /** - *
- * Used to filter for insights that have the status CLOSED
.
- *
Used to filter for insights that have the status CLOSED
.
- * Use to filter for either REACTIVE
or PROACTIVE
insights.
- *
Use to filter for either REACTIVE
or PROACTIVE
insights.
+ *
- * A time range used to specify when the behavior of the filtered insights ended. - *
+ *A time range used to specify when the behavior of the filtered insights ended. + *
*/ EndTimeRange: EndTimeRange | undefined; } @@ -2426,15 +2510,12 @@ export namespace ListInsightsClosedStatusFilter { } /** - *
- * Used to filter for insights that have the status ONGOING
.
- *
Used to filter for insights that have the status ONGOING
.
- * Use to filter for either REACTIVE
or PROACTIVE
insights.
- *
Use to filter for either REACTIVE
or PROACTIVE
insights.
+ *
- * A filter used by ListInsights
to specify which insights to return.
- *
A filter used by ListInsights
to specify which insights to return.
+ *
- * A ListInsightsAnyStatusFilter
that specifies ongoing insights
- * that are either REACTIVE
or PROACTIVE
.
- *
A ListInsightsAnyStatusFilter
that specifies ongoing insights that are
+ * either REACTIVE
or PROACTIVE
.
- * A ListInsightsClosedStatusFilter
that specifies closed insights that are
- * either REACTIVE
or PROACTIVE
.
- *
A ListInsightsClosedStatusFilter
that specifies closed insights that are
+ * either REACTIVE
or PROACTIVE
.
- * A ListInsightsAnyStatusFilter
that specifies insights of any status
- * that are either REACTIVE
or PROACTIVE
.
- *
A ListInsightsAnyStatusFilter
that specifies insights of any status that
+ * are either REACTIVE
or PROACTIVE
.
- * A filter used to filter the returned insights by their status. You can specify one status filter. - *
+ *A filter used to filter the returned insights by their status. You can specify one + * status filter.
*/ StatusFilter: ListInsightsStatusFilter | undefined; @@ -2519,11 +2592,11 @@ export namespace ListInsightsRequest { } /** - *A collection of the names of AWS services.
+ *A collection of the names of Amazon Web Services services.
*/ export interface ServiceCollection { /** - *An array of strings that each specifies the name of an AWS service.
+ *An array of strings that each specifies the name of an Amazon Web Services service.
*/ ServiceNames?: (ServiceName | string)[]; } @@ -2539,7 +2612,7 @@ export namespace ServiceCollection { /** *Details about a proactive insight. This object is returned by
- * DescribeInsight.
+ * DescribeInsight.
*
- * The time range during which anomalous behavior in a proactive anomaly or an insight is expected to occur. - *
+ *The time range during which anomalous behavior in a proactive anomaly or an insight + * is expected to occur.
*/ PredictionTimeRange?: PredictionTimeRange; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; /** - *A collection of the names of AWS services.
+ *A collection of the names of Amazon Web Services services.
*/ ServiceCollection?: ServiceCollection; } @@ -2606,30 +2677,22 @@ export namespace ProactiveInsightSummary { */ export interface ReactiveInsightSummary { /** - *- * The ID of a reactive summary. - *
+ *The ID of a reactive summary.
*/ Id?: string; /** - *- * The name of a reactive insight. - *
+ *The name of a reactive insight.
*/ Name?: string; /** - *- * The severity of a reactive insight. - *
+ *The severity of a reactive insight.
*/ Severity?: InsightSeverity | string; /** - *- * The status of a reactive insight. - *
+ *The status of a reactive insight.
*/ Status?: InsightStatus | string; @@ -2640,15 +2703,14 @@ export interface ReactiveInsightSummary { InsightTimeRange?: InsightTimeRange; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; /** - *A collection of the names of AWS services.
+ *A collection of the names of Amazon Web Services services.
*/ ServiceCollection?: ServiceCollection; } @@ -2664,16 +2726,12 @@ export namespace ReactiveInsightSummary { export interface ListInsightsResponse { /** - *- * The returned list of proactive insights. - *
+ *The returned list of proactive insights.
*/ ProactiveInsights?: ProactiveInsightSummary[]; /** - *- * The returned list of reactive insights. - *
+ *The returned list of reactive insights.
*/ ReactiveInsights?: ReactiveInsightSummary[]; @@ -2711,32 +2769,26 @@ export namespace ListNotificationChannelsRequest { } /** - *- * Information about a notification channel. A notification channel is used to notify you when DevOps Guru creates an insight. - * The one - * supported notification channel is Amazon Simple Notification Service (Amazon SNS). - *
- * + *Information about a notification channel. A notification channel is used to notify + * you when DevOps Guru creates an insight. The one + * supported notification channel is Amazon Simple Notification Service (Amazon SNS).
*If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission * to it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. * For more information, see Permissions * for cross account Amazon SNS topics.
- *If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions + *
If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key Management Service customer-managed key (CMK), then you must add permissions * to the CMK. For more information, see Permissions for - * AWS KMS–encrypted Amazon SNS topics.
+ * Amazon Web Services KMS–encrypted Amazon SNS topics. */ export interface NotificationChannel { /** - *- * The ID of a notification channel. - *
+ *The ID of a notification channel.
*/ Id?: string; /** - *
- * A NotificationChannelConfig
object that contains information about configured notification channels.
- *
A NotificationChannelConfig
object that contains information about
+ * configured notification channels.
- * An array that contains the requested notification channels. - *
+ *An array that contains the requested notification channels.
*/ Channels?: NotificationChannel[]; @@ -2774,6 +2824,206 @@ export namespace ListNotificationChannelsResponse { }); } +export interface ListOrganizationInsightsRequest { + /** + * A filter used by ListInsights
to specify which insights to return.
+ *
The maximum number of results to return with a single call.
+ * To retrieve the remaining results, make another call with the returned nextToken
value.
The ID of the Amazon Web Services account.
+ */ + AccountIds?: string[]; + + /** + *The ID of the organizational unit.
+ */ + OrganizationalUnitIds?: string[]; + + /** + *The pagination token to use to retrieve + * the next page of results for this operation. If this value is null, it retrieves the first page.
+ */ + NextToken?: string; +} + +export namespace ListOrganizationInsightsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListOrganizationInsightsRequest): any => ({ + ...obj, + }); +} + +/** + *Details about a proactive insight. This object is returned by
+ * DescribeInsight
.
The ID of the insight summary.
+ */ + Id?: string; + + /** + *The ID of the Amazon Web Services account.
+ */ + AccountId?: string; + + /** + *The ID of the organizational unit.
+ */ + OrganizationalUnitId?: string; + + /** + *The name of the insight summary.
+ */ + Name?: string; + + /** + *An array of severity values used to search for insights.
+ */ + Severity?: InsightSeverity | string; + + /** + *An array of status values used to search for insights.
+ */ + Status?: InsightStatus | string; + + /** + *A time ranged that specifies when the observed behavior in an insight started and + * ended.
+ */ + InsightTimeRange?: InsightTimeRange; + + /** + *The time range during which anomalous behavior in a proactive anomaly or an insight + * is expected to occur.
+ */ + PredictionTimeRange?: PredictionTimeRange; + + /** + *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
+ */ + ResourceCollection?: ResourceCollection; + + /** + *A collection of the names of Amazon Web Services services.
+ */ + ServiceCollection?: ServiceCollection; +} + +export namespace ProactiveOrganizationInsightSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ProactiveOrganizationInsightSummary): any => ({ + ...obj, + }); +} + +/** + *Information about a reactive insight. This object is returned by
+ * DescribeInsight
.
The ID of the insight summary.
+ */ + Id?: string; + + /** + *The ID of the Amazon Web Services account.
+ */ + AccountId?: string; + + /** + *The ID of the organizational unit.
+ */ + OrganizationalUnitId?: string; + + /** + *The name of the insight summary.
+ */ + Name?: string; + + /** + *An array of severity values used to search for insights.
+ */ + Severity?: InsightSeverity | string; + + /** + *An array of status values used to search for insights.
+ */ + Status?: InsightStatus | string; + + /** + *A time ranged that specifies when the observed behavior in an insight started and + * ended.
+ */ + InsightTimeRange?: InsightTimeRange; + + /** + *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
+ */ + ResourceCollection?: ResourceCollection; + + /** + *A collection of the names of Amazon Web Services services.
+ */ + ServiceCollection?: ServiceCollection; +} + +export namespace ReactiveOrganizationInsightSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReactiveOrganizationInsightSummary): any => ({ + ...obj, + }); +} + +export interface ListOrganizationInsightsResponse { + /** + *An integer that specifies the number of open proactive insights in your Amazon Web Services + * account.
+ */ + ProactiveInsights?: ProactiveOrganizationInsightSummary[]; + + /** + *An integer that specifies the number of open reactive insights in your Amazon Web Services + * account.
+ */ + ReactiveInsights?: ReactiveOrganizationInsightSummary[]; + + /** + *The pagination token to use to retrieve + * the next page of results for this operation. If there are no more pages, this value is null.
+ */ + NextToken?: string; +} + +export namespace ListOrganizationInsightsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListOrganizationInsightsResponse): any => ({ + ...obj, + }); +} + export enum Locale { DE_DE = "DE_DE", EN_GB = "EN_GB", @@ -2790,9 +3040,7 @@ export enum Locale { export interface ListRecommendationsRequest { /** - *- * The ID of the requested insight. - *
+ *The ID of the requested insight.
*/ InsightId: string | undefined; @@ -2806,6 +3054,11 @@ export interface ListRecommendationsRequest { *A locale that specifies the language to use for recommendations.
*/ Locale?: Locale | string; + + /** + *The ID of the Amazon Web Services account.
+ */ + AccountId?: string; } export namespace ListRecommendationsRequest { @@ -2818,22 +3071,16 @@ export namespace ListRecommendationsRequest { } /** - *- * Information about a resource in which DevOps Guru detected anomalous behavior. - *
+ *Information about a resource in which DevOps Guru detected anomalous behavior.
*/ export interface RecommendationRelatedAnomalyResource { /** - *- * The name of the resource. - *
+ *The name of the resource.
*/ Name?: string; /** - *- * The type of the resource. - *
+ *The type of the resource.
*/ Type?: string; } @@ -2848,10 +3095,8 @@ export namespace RecommendationRelatedAnomalyResource { } /** - *- * Information about an Amazon CloudWatch metric that is analyzed by DevOps Guru. It is one of many analyzed metrics - * that are used to generate insights. - *
+ *Information about an Amazon CloudWatch metric that is analyzed by DevOps Guru. It is one of many + * analyzed metrics that are used to generate insights.
*/ export interface RecommendationRelatedCloudWatchMetricsSourceDetail { /** @@ -2875,10 +3120,8 @@ export namespace RecommendationRelatedCloudWatchMetricsSourceDetail { } /** - *
- * Contains an array of RecommendationRelatedCloudWatchMetricsSourceDetail
objects that contain the name
- * and namespace of an Amazon CloudWatch metric.
- *
Contains an array of RecommendationRelatedCloudWatchMetricsSourceDetail
+ * objects that contain the name and namespace of an Amazon CloudWatch metric.
- * Information about an anomaly that is related to a recommendation. - *
+ *Information about an anomaly that is related to a recommendation.
*/ export interface RecommendationRelatedAnomaly { /** - *- * An array of objects that represent resources in which DevOps Guru detected anomalous behavior. Each object contains the name - * and type of the resource. - *
+ *An array of objects that represent resources in which DevOps Guru detected anomalous + * behavior. Each object contains the name and type of the resource.
*/ Resources?: RecommendationRelatedAnomalyResource[]; /** - *- * Information about where the anomalous behavior related the recommendation was found. For example, details in Amazon CloudWatch metrics. - *
+ *Information about where the anomalous behavior related the recommendation was found. + * For example, details in Amazon CloudWatch metrics.
*/ SourceDetails?: RecommendationRelatedAnomalySourceDetail[]; } @@ -2929,24 +3167,19 @@ export namespace RecommendationRelatedAnomaly { } /** - *- * Information about an AWS resource that emitted and event that is related to a recommendation in an insight. - *
+ *Information about an Amazon Web Services resource that emitted and event that is related to a + * recommendation in an insight.
*/ export interface RecommendationRelatedEventResource { /** - *
- * The name of the resource that emitted the event. This corresponds to the Name
field in an
- * EventResource
object.
- *
The name of the resource that emitted the event. This corresponds to the
+ * Name
field in an EventResource
object.
- * The type of the resource that emitted the event. This corresponds to the Type
field in an
- * EventResource
object.
- *
The type of the resource that emitted the event. This corresponds to the
+ * Type
field in an EventResource
object.
- * Information about an event that is related to a recommendation. - *
+ *Information about an event that is related to a recommendation.
*/ export interface RecommendationRelatedEvent { /** - *
- * The name of the event. This corresponds to the Name
field in an
- * Event
object.
- *
The name of the event. This corresponds to the Name
field in an
+ * Event
object.
- * A ResourceCollection
object that contains arrays of the names of AWS
- * CloudFormation stacks. You can specify up to 500 AWS CloudFormation stacks.
- *
A ResourceCollection
object that contains arrays of the names of Amazon Web Services
+ * CloudFormation stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
- * A description of the problem. - *
+ *A description of the problem.
*/ Description?: string; /** - *- * A hyperlink to information to help you address the problem. - *
+ *A hyperlink to information to help you address the problem.
*/ Link?: string; /** - *- * The name of the recommendation. - *
+ *The name of the recommendation.
*/ Name?: string; /** - *- * The reason DevOps Guru flagged the anomalous behavior as a problem. - *
+ *The reason DevOps Guru flagged the anomalous behavior as a problem.
*/ Reason?: string; /** - *- * Events that are related to the problem. Use these events to learn more about what's happening and to help address the issue. - *
+ *Events that are related to the problem. Use these events to learn more about what's + * happening and to help address the issue.
*/ RelatedEvents?: RecommendationRelatedEvent[]; /** - *- * Anomalies that are related to the problem. Use these Anomalies to learn more about what's happening and to help address the issue. - *
+ *Anomalies that are related to the problem. Use these Anomalies to learn more about + * what's happening and to help address the issue.
*/ RelatedAnomalies?: RecommendationRelatedAnomaly[]; } @@ -3051,9 +3268,7 @@ export namespace Recommendation { export interface ListRecommendationsResponse { /** - *- * An array of the requested recommendations. - *
+ *An array of the requested recommendations.
*/ Recommendations?: Recommendation[]; @@ -3075,9 +3290,7 @@ export namespace ListRecommendationsResponse { export interface PutFeedbackRequest { /** - *- * The feedback from customers is about the recommendations in this insight. - *
+ *The feedback from customers is about the recommendations in this insight.
*/ InsightFeedback?: InsightFeedback; } @@ -3104,9 +3317,7 @@ export namespace PutFeedbackResponse { export interface RemoveNotificationChannelRequest { /** - *- * The ID of the notification channel to be removed. - *
+ *The ID of the notification channel to be removed.
*/ Id: string | undefined; } @@ -3132,36 +3343,29 @@ export namespace RemoveNotificationChannelResponse { } /** - *- * Specifies one or more severity values and one or more status values that are used to search - * for insights. - *
+ *Specifies one or more severity values and one or more status values that are used to + * search for insights.
*/ export interface SearchInsightsFilters { /** - *- * An array of severity values used to search for insights. - *
+ *An array of severity values used to search for insights.
*/ Severities?: (InsightSeverity | string)[]; /** - *- * An array of status values used to search for insights. - *
+ *An array of status values used to search for insights.
*/ Statuses?: (InsightStatus | string)[]; /** - *- * A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze - * only the AWS resources that are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ ResourceCollection?: ResourceCollection; /** - *A collection of the names of AWS services.
+ *A collection of the names of Amazon Web Services services.
*/ ServiceCollection?: ServiceCollection; } @@ -3177,16 +3381,14 @@ export namespace SearchInsightsFilters { export interface SearchInsightsRequest { /** - *- * The start of the time range passed in. Returned insights occurred after this time. - *
+ *The start of the time range passed in. Returned insights occurred after this time. + *
*/ StartTimeRange: StartTimeRange | undefined; /** - *
- * A SearchInsightsFilters
object that is used to set the severity and status filters on your insight search.
- *
A SearchInsightsFilters
object that is used to set the severity and
+ * status filters on your insight search.
- * The type of insights you are searching for (REACTIVE
or PROACTIVE
).
- *
The type of insights you are searching for (REACTIVE
or
+ * PROACTIVE
).
- * The returned proactive insights. - *
+ *The returned proactive insights.
*/ ProactiveInsights?: ProactiveInsightSummary[]; /** - *- * The returned reactive insights. - *
+ *The returned reactive insights.
*/ ReactiveInsights?: ReactiveInsightSummary[]; @@ -3250,9 +3447,121 @@ export namespace SearchInsightsResponse { }); } +/** + * Filters you can use to specify which events are returned when ListEvents
+ * is called.
An array of severity values used to search for insights.
+ */ + Severities?: (InsightSeverity | string)[]; + + /** + *An array of status values used to search for insights.
+ */ + Statuses?: (InsightStatus | string)[]; + + /** + *A collection of Amazon Web Services resources supported by DevOps Guru. + * The one type of Amazon Web Services resource collection supported is Amazon Web Services CloudFormation stacks. DevOps Guru can be configured to analyze + * only the Amazon Web Services resources that are defined in the stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
+ */ + ResourceCollection?: ResourceCollection; + + /** + *A collection of the names of Amazon Web Services services.
+ */ + ServiceCollection?: ServiceCollection; +} + +export namespace SearchOrganizationInsightsFilters { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchOrganizationInsightsFilters): any => ({ + ...obj, + }); +} + +export interface SearchOrganizationInsightsRequest { + /** + *The ID of the Amazon Web Services account.
+ */ + AccountIds: string[] | undefined; + + /** + *A time range used to specify when the behavior of an insight or anomaly started. + *
+ */ + StartTimeRange: StartTimeRange | undefined; + + /** + * A SearchOrganizationInsightsFilters
object that is used to set the
+ * severity and status filters on your insight search.
The maximum number of results to return with a single call.
+ * To retrieve the remaining results, make another call with the returned nextToken
value.
The pagination token to use to retrieve + * the next page of results for this operation. If this value is null, it retrieves the first page.
+ */ + NextToken?: string; + + /** + * The type of insights you are searching for (REACTIVE
or
+ * PROACTIVE
).
An integer that specifies the number of open proactive insights in your Amazon Web Services + * account.
+ */ + ProactiveInsights?: ProactiveInsightSummary[]; + + /** + *An integer that specifies the number of open reactive insights in your Amazon Web Services + * account.
+ */ + ReactiveInsights?: ReactiveInsightSummary[]; + + /** + *The pagination token to use to retrieve + * the next page of results for this operation. If there are no more pages, this value is null.
+ */ + NextToken?: string; +} + +export namespace SearchOrganizationInsightsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SearchOrganizationInsightsResponse): any => ({ + ...obj, + }); +} + export interface StartCostEstimationRequest { /** - *The collection of AWS resources used to create a monthly DevOps Guru cost estimate.
+ *The collection of Amazon Web Services resources used to create a monthly DevOps Guru cost estimate.
*/ ResourceCollection: CostEstimationResourceCollectionFilter | undefined; @@ -3288,12 +3597,12 @@ export enum UpdateResourceCollectionAction { } /** - *Contains the names of AWS CloudFormation stacks used to update a collection of stacks. You can specify up to 500 AWS CloudFormation stacks.
+ *Contains the names of Amazon Web Services CloudFormation stacks used to update a collection of stacks. + * You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ export interface UpdateCloudFormationCollectionFilter { /** - *- * An array of the names of the AWS CloudFormation stacks to update. You can specify up to 500 AWS CloudFormation stacks. + *
An array of the names of the Amazon Web Services CloudFormation stacks to update. You can specify up to 500 Amazon Web Services CloudFormation stacks. *
*/ StackNames?: string[]; @@ -3309,15 +3618,11 @@ export namespace UpdateCloudFormationCollectionFilter { } /** - *- * Contains information used to update a collection of AWS resources. - *
+ *Contains information used to update a collection of Amazon Web Services resources.
*/ export interface UpdateResourceCollectionFilter { /** - *- * An collection of AWS CloudFormation stacks. You can specify up to 500 AWS CloudFormation stacks. - *
+ *An collection of Amazon Web Services CloudFormation stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*/ CloudFormation?: UpdateCloudFormationCollectionFilter; } @@ -3333,16 +3638,13 @@ export namespace UpdateResourceCollectionFilter { export interface UpdateResourceCollectionRequest { /** - *- * Specifies if the resource collection in the request is added or deleted to the resource collection. - *
+ *Specifies if the resource collection in the request is added or deleted to the + * resource collection.
*/ Action: UpdateResourceCollectionAction | string | undefined; /** - *- * Contains information used to update a collection of AWS resources. - *
+ *Contains information used to update a collection of Amazon Web Services resources.
*/ ResourceCollection: UpdateResourceCollectionFilter | undefined; } @@ -3368,15 +3670,13 @@ export namespace UpdateResourceCollectionResponse { } /** - *- * Information about whether DevOps Guru is configured to create an OpsItem in AWS Systems Manager OpsCenter for each created insight. - *
+ *Information about whether DevOps Guru is configured to create an OpsItem in Amazon Web Services Systems Manager + * OpsCenter for each created insight.
*/ export interface OpsCenterIntegrationConfig { /** - *- * Specifies if DevOps Guru is enabled to create an AWS Systems Manager OpsItem for each created insight. - *
+ *Specifies if DevOps Guru is enabled to create an Amazon Web Services Systems Manager OpsItem for each created + * insight.
*/ OptInStatus?: OptInStatus | string; } @@ -3391,15 +3691,13 @@ export namespace OpsCenterIntegrationConfig { } /** - *- * Information about updating the integration status of an AWS service, such as AWS Systems Manager, with DevOps Guru. - *
+ *Information about updating the integration status of an Amazon Web Services service, such as + * Amazon Web Services Systems Manager, with DevOps Guru.
*/ export interface UpdateServiceIntegrationConfig { /** - *- * Information about whether DevOps Guru is configured to create an OpsItem in AWS Systems Manager OpsCenter for each created insight. - *
+ *Information about whether DevOps Guru is configured to create an OpsItem in Amazon Web Services Systems Manager + * OpsCenter for each created insight.
*/ OpsCenter?: OpsCenterIntegrationConfig; } @@ -3415,10 +3713,8 @@ export namespace UpdateServiceIntegrationConfig { export interface UpdateServiceIntegrationRequest { /** - *
- * An IntegratedServiceConfig
object used to specify the integrated service you want to update, and whether you
- * want to update it to enabled or disabled.
- *
An IntegratedServiceConfig
object used to specify the integrated service
+ * you want to update, and whether you want to update it to enabled or disabled.
AWS Elastic Disaster Recovery Service.
+ +## Installing + +To install the this package, simply type add or install @aws-sdk/client-drs +using your favorite package manager: + +- `npm install @aws-sdk/client-drs` +- `yarn add @aws-sdk/client-drs` +- `pnpm add @aws-sdk/client-drs` + +## Getting Started + +### Import + +The AWS SDK is modulized by clients and commands. +To send a request, you only need to import the `DrsClient` and +the commands you need, for example `CreateReplicationConfigurationTemplateCommand`: + +```js +// ES5 example +const { DrsClient, CreateReplicationConfigurationTemplateCommand } = require("@aws-sdk/client-drs"); +``` + +```ts +// ES6+ example +import { DrsClient, CreateReplicationConfigurationTemplateCommand } from "@aws-sdk/client-drs"; +``` + +### 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 DrsClient({ region: "REGION" }); + +const params = { + /** input parameters */ +}; +const command = new CreateReplicationConfigurationTemplateCommand(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-drs"; +const client = new AWS.Drs({ region: "REGION" }); + +// async/await. +try { + const data = await client.createReplicationConfigurationTemplate(params); + // process data. +} catch (error) { + // error handling. +} + +// Promises. +client + .createReplicationConfigurationTemplate(params) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }); + +// callbacks. +client.createReplicationConfigurationTemplate(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-drs` 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-drs/jest.config.js b/clients/client-drs/jest.config.js new file mode 100644 index 000000000000..02eed352c6a8 --- /dev/null +++ b/clients/client-drs/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-drs/package.json b/clients/client-drs/package.json new file mode 100644 index 000000000000..22510b116da4 --- /dev/null +++ b/clients/client-drs/package.json @@ -0,0 +1,94 @@ +{ + "name": "@aws-sdk/client-drs", + "description": "AWS SDK for JavaScript Drs 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.41.0", + "@aws-sdk/config-resolver": "3.40.0", + "@aws-sdk/credential-provider-node": "3.41.0", + "@aws-sdk/fetch-http-handler": "3.40.0", + "@aws-sdk/hash-node": "3.40.0", + "@aws-sdk/invalid-dependency": "3.40.0", + "@aws-sdk/middleware-content-length": "3.40.0", + "@aws-sdk/middleware-host-header": "3.40.0", + "@aws-sdk/middleware-logger": "3.40.0", + "@aws-sdk/middleware-retry": "3.40.0", + "@aws-sdk/middleware-serde": "3.40.0", + "@aws-sdk/middleware-signing": "3.40.0", + "@aws-sdk/middleware-stack": "3.40.0", + "@aws-sdk/middleware-user-agent": "3.40.0", + "@aws-sdk/node-config-provider": "3.40.0", + "@aws-sdk/node-http-handler": "3.40.0", + "@aws-sdk/protocol-http": "3.40.0", + "@aws-sdk/smithy-client": "3.41.0", + "@aws-sdk/types": "3.40.0", + "@aws-sdk/url-parser": "3.40.0", + "@aws-sdk/util-base64-browser": "3.37.0", + "@aws-sdk/util-base64-node": "3.37.0", + "@aws-sdk/util-body-length-browser": "3.37.0", + "@aws-sdk/util-body-length-node": "3.37.0", + "@aws-sdk/util-user-agent-browser": "3.40.0", + "@aws-sdk/util-user-agent-node": "3.40.0", + "@aws-sdk/util-utf8-browser": "3.37.0", + "@aws-sdk/util-utf8-node": "3.37.0", + "tslib": "^2.3.0" + }, + "devDependencies": { + "@aws-sdk/service-client-documentation-generator": "3.38.0", + "@types/node": "^12.7.5", + "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-drs", + "repository": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-js-v3.git", + "directory": "clients/client-drs" + } +} diff --git a/clients/client-drs/src/Drs.ts b/clients/client-drs/src/Drs.ts new file mode 100644 index 000000000000..946ef7ff898d --- /dev/null +++ b/clients/client-drs/src/Drs.ts @@ -0,0 +1,1065 @@ +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +import { + CreateReplicationConfigurationTemplateCommand, + CreateReplicationConfigurationTemplateCommandInput, + CreateReplicationConfigurationTemplateCommandOutput, +} from "./commands/CreateReplicationConfigurationTemplateCommand"; +import { DeleteJobCommand, DeleteJobCommandInput, DeleteJobCommandOutput } from "./commands/DeleteJobCommand"; +import { + DeleteRecoveryInstanceCommand, + DeleteRecoveryInstanceCommandInput, + DeleteRecoveryInstanceCommandOutput, +} from "./commands/DeleteRecoveryInstanceCommand"; +import { + DeleteReplicationConfigurationTemplateCommand, + DeleteReplicationConfigurationTemplateCommandInput, + DeleteReplicationConfigurationTemplateCommandOutput, +} from "./commands/DeleteReplicationConfigurationTemplateCommand"; +import { + DeleteSourceServerCommand, + DeleteSourceServerCommandInput, + DeleteSourceServerCommandOutput, +} from "./commands/DeleteSourceServerCommand"; +import { + DescribeJobLogItemsCommand, + DescribeJobLogItemsCommandInput, + DescribeJobLogItemsCommandOutput, +} from "./commands/DescribeJobLogItemsCommand"; +import { + DescribeJobsCommand, + DescribeJobsCommandInput, + DescribeJobsCommandOutput, +} from "./commands/DescribeJobsCommand"; +import { + DescribeRecoveryInstancesCommand, + DescribeRecoveryInstancesCommandInput, + DescribeRecoveryInstancesCommandOutput, +} from "./commands/DescribeRecoveryInstancesCommand"; +import { + DescribeRecoverySnapshotsCommand, + DescribeRecoverySnapshotsCommandInput, + DescribeRecoverySnapshotsCommandOutput, +} from "./commands/DescribeRecoverySnapshotsCommand"; +import { + DescribeReplicationConfigurationTemplatesCommand, + DescribeReplicationConfigurationTemplatesCommandInput, + DescribeReplicationConfigurationTemplatesCommandOutput, +} from "./commands/DescribeReplicationConfigurationTemplatesCommand"; +import { + DescribeSourceServersCommand, + DescribeSourceServersCommandInput, + DescribeSourceServersCommandOutput, +} from "./commands/DescribeSourceServersCommand"; +import { + DisconnectRecoveryInstanceCommand, + DisconnectRecoveryInstanceCommandInput, + DisconnectRecoveryInstanceCommandOutput, +} from "./commands/DisconnectRecoveryInstanceCommand"; +import { + DisconnectSourceServerCommand, + DisconnectSourceServerCommandInput, + DisconnectSourceServerCommandOutput, +} from "./commands/DisconnectSourceServerCommand"; +import { + GetFailbackReplicationConfigurationCommand, + GetFailbackReplicationConfigurationCommandInput, + GetFailbackReplicationConfigurationCommandOutput, +} from "./commands/GetFailbackReplicationConfigurationCommand"; +import { + GetLaunchConfigurationCommand, + GetLaunchConfigurationCommandInput, + GetLaunchConfigurationCommandOutput, +} from "./commands/GetLaunchConfigurationCommand"; +import { + GetReplicationConfigurationCommand, + GetReplicationConfigurationCommandInput, + GetReplicationConfigurationCommandOutput, +} from "./commands/GetReplicationConfigurationCommand"; +import { + InitializeServiceCommand, + InitializeServiceCommandInput, + InitializeServiceCommandOutput, +} from "./commands/InitializeServiceCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { + RetryDataReplicationCommand, + RetryDataReplicationCommandInput, + RetryDataReplicationCommandOutput, +} from "./commands/RetryDataReplicationCommand"; +import { + StartFailbackLaunchCommand, + StartFailbackLaunchCommandInput, + StartFailbackLaunchCommandOutput, +} from "./commands/StartFailbackLaunchCommand"; +import { + StartRecoveryCommand, + StartRecoveryCommandInput, + StartRecoveryCommandOutput, +} from "./commands/StartRecoveryCommand"; +import { + StopFailbackCommand, + StopFailbackCommandInput, + StopFailbackCommandOutput, +} from "./commands/StopFailbackCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + TerminateRecoveryInstancesCommand, + TerminateRecoveryInstancesCommandInput, + TerminateRecoveryInstancesCommandOutput, +} from "./commands/TerminateRecoveryInstancesCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; +import { + UpdateFailbackReplicationConfigurationCommand, + UpdateFailbackReplicationConfigurationCommandInput, + UpdateFailbackReplicationConfigurationCommandOutput, +} from "./commands/UpdateFailbackReplicationConfigurationCommand"; +import { + UpdateLaunchConfigurationCommand, + UpdateLaunchConfigurationCommandInput, + UpdateLaunchConfigurationCommandOutput, +} from "./commands/UpdateLaunchConfigurationCommand"; +import { + UpdateReplicationConfigurationCommand, + UpdateReplicationConfigurationCommandInput, + UpdateReplicationConfigurationCommandOutput, +} from "./commands/UpdateReplicationConfigurationCommand"; +import { + UpdateReplicationConfigurationTemplateCommand, + UpdateReplicationConfigurationTemplateCommandInput, + UpdateReplicationConfigurationTemplateCommandOutput, +} from "./commands/UpdateReplicationConfigurationTemplateCommand"; +import { DrsClient } from "./DrsClient"; + +/** + *AWS Elastic Disaster Recovery Service.
+ */ +export class Drs extends DrsClient { + /** + *Creates a new ReplicationConfigurationTemplate.
+ */ + public createReplicationConfigurationTemplate( + args: CreateReplicationConfigurationTemplateCommandInput, + options?: __HttpHandlerOptions + ): PromiseDeletes a single Job by ID.
+ */ + public deleteJob(args: DeleteJobCommandInput, options?: __HttpHandlerOptions): PromiseDeletes a single Recovery Instance by ID. This deletes the Recovery Instance resource from Elastic Disaster Recovery. The Recovery Instance must be disconnected first in order to delete it.
+ */ + public deleteRecoveryInstance( + args: DeleteRecoveryInstanceCommandInput, + options?: __HttpHandlerOptions + ): PromiseDeletes a single Replication Configuration Template by ID
+ */ + public deleteReplicationConfigurationTemplate( + args: DeleteReplicationConfigurationTemplateCommandInput, + options?: __HttpHandlerOptions + ): PromiseDeletes a single Source Server by ID. The Source Server must be disconnected first.
+ */ + public deleteSourceServer( + args: DeleteSourceServerCommandInput, + options?: __HttpHandlerOptions + ): PromiseRetrieves a detailed Job log with pagination.
+ */ + public describeJobLogItems( + args: DescribeJobLogItemsCommandInput, + options?: __HttpHandlerOptions + ): PromiseReturns a list of Jobs. Use the JobsID and fromDate and toDate filters to limit which jobs are returned. The response is sorted by creationDataTime - latest date first. Jobs are created by the StartRecovery, TerminateRecoveryInstances and StartFailbackLaunch APIs. Jobs are also created by DiagnosticLaunch and TerminateDiagnosticInstances, which are APIs available only to *Support* and only used in response to relevant support tickets.
+ */ + public describeJobs( + args: DescribeJobsCommandInput, + options?: __HttpHandlerOptions + ): PromiseLists all Recovery Instances or multiple Recovery Instances by ID.
+ */ + public describeRecoveryInstances( + args: DescribeRecoveryInstancesCommandInput, + options?: __HttpHandlerOptions + ): PromiseLists all Recovery Snapshots for a single Source Server.
+ */ + public describeRecoverySnapshots( + args: DescribeRecoverySnapshotsCommandInput, + options?: __HttpHandlerOptions + ): PromiseLists all ReplicationConfigurationTemplates, filtered by Source Server IDs.
+ */ + public describeReplicationConfigurationTemplates( + args: DescribeReplicationConfigurationTemplatesCommandInput, + options?: __HttpHandlerOptions + ): PromiseLists all Source Servers or multiple Source Servers filtered by ID.
+ */ + public describeSourceServers( + args: DescribeSourceServersCommandInput, + options?: __HttpHandlerOptions + ): PromiseDisconnect a Recovery Instance from Elastic Disaster Recovery. Data replication is stopped immediately. All AWS resources created by Elastic Disaster Recovery for enabling the replication of the Recovery Instance will be terminated / deleted within 90 minutes. If the agent on the Recovery Instance has not been prevented from communicating with the Elastic Disaster Recovery service, then it will receive a command to uninstall itself (within approximately 10 minutes). The following properties of the Recovery Instance will be changed immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.
+ */ + public disconnectRecoveryInstance( + args: DisconnectRecoveryInstanceCommandInput, + options?: __HttpHandlerOptions + ): PromiseDisconnects a specific Source Server from Elastic Disaster Recovery. Data replication is stopped immediately. All AWS resources created by Elastic Disaster Recovery for enabling the replication of the Source Server will be terminated / deleted within 90 minutes. You cannot disconnect a Source Server if it has a Recovery Instance. If the agent on the Source Server has not been prevented from communicating with the Elastic Disaster Recovery service, then it will receive a command to uninstall itself (within approximately 10 minutes). The following properties of the SourceServer will be changed immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.
+ */ + public disconnectSourceServer( + args: DisconnectSourceServerCommandInput, + options?: __HttpHandlerOptions + ): PromiseLists all Failback ReplicationConfigurations, filtered by Recovery Instance ID.
+ */ + public getFailbackReplicationConfiguration( + args: GetFailbackReplicationConfigurationCommandInput, + options?: __HttpHandlerOptions + ): PromiseGets a LaunchConfiguration, filtered by Source Server IDs.
+ */ + public getLaunchConfiguration( + args: GetLaunchConfigurationCommandInput, + options?: __HttpHandlerOptions + ): PromiseGets a ReplicationConfiguration, filtered by Source Server ID.
+ */ + public getReplicationConfiguration( + args: GetReplicationConfigurationCommandInput, + options?: __HttpHandlerOptions + ): PromiseInitialize Elastic Disaster Recovery.
+ */ + public initializeService( + args: InitializeServiceCommandInput, + options?: __HttpHandlerOptions + ): PromiseList all tags for your Elastic Disaster Recovery resources.
+ */ + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options?: __HttpHandlerOptions + ): PromiseCauses the data replication initiation sequence to begin immediately upon next Handshake for the specified Source Server ID, regardless of when the previous initiation started. This command will work only if the Source Server is stalled or is in a DISCONNECTED or STOPPED state.
+ */ + public retryDataReplication( + args: RetryDataReplicationCommandInput, + options?: __HttpHandlerOptions + ): PromiseInitiates a Job for launching the machine that is being failed back to from the specified Recovery Instance. This will run conversion on the failback client and will reboot your machine, thus completing the failback process.
+ */ + public startFailbackLaunch( + args: StartFailbackLaunchCommandInput, + options?: __HttpHandlerOptions + ): PromiseLaunches Recovery Instances for the specified Source Servers. For each Source Server you may choose a point in time snapshot to launch from, or use an on demand snapshot.
+ */ + public startRecovery( + args: StartRecoveryCommandInput, + options?: __HttpHandlerOptions + ): PromiseStops the failback process for a specified Recovery Instance. This changes the Failback State of the Recovery Instance back to FAILBACK_NOT_STARTED.
+ */ + public stopFailback( + args: StopFailbackCommandInput, + options?: __HttpHandlerOptions + ): PromiseAdds or overwrites only the specified tags for the specified Elastic Disaster Recovery resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value.
+ */ + public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): PromiseInitiates a Job for terminating the EC2 resources associated with the specified Recovery Instances, and then will delete the Recovery Instances from the Elastic Disaster Recovery service.
+ */ + public terminateRecoveryInstances( + args: TerminateRecoveryInstancesCommandInput, + options?: __HttpHandlerOptions + ): PromiseDeletes the specified set of tags from the specified set of Elastic Disaster Recovery resources.
+ */ + public untagResource( + args: UntagResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise