Creates an event trigger, which specifies the rules when to perform action based on + * customer's ingested data.
+ *Each event stream can be associated with only one integration in the same region and AWS + * account as the event stream.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { CustomerProfilesClient, CreateEventTriggerCommand } from "@aws-sdk/client-customer-profiles"; // ES Modules import + * // const { CustomerProfilesClient, CreateEventTriggerCommand } = require("@aws-sdk/client-customer-profiles"); // CommonJS import + * const client = new CustomerProfilesClient(config); + * const input = { // CreateEventTriggerRequest + * DomainName: "STRING_VALUE", // required + * EventTriggerName: "STRING_VALUE", // required + * ObjectTypeName: "STRING_VALUE", // required + * Description: "STRING_VALUE", + * EventTriggerConditions: [ // EventTriggerConditions // required + * { // EventTriggerCondition + * EventTriggerDimensions: [ // EventTriggerDimensions // required + * { // EventTriggerDimension + * ObjectAttributes: [ // ObjectAttributes // required + * { // ObjectAttribute + * Source: "STRING_VALUE", + * FieldName: "STRING_VALUE", + * ComparisonOperator: "INCLUSIVE" || "EXCLUSIVE" || "CONTAINS" || "BEGINS_WITH" || "ENDS_WITH" || "GREATER_THAN" || "LESS_THAN" || "GREATER_THAN_OR_EQUAL" || "LESS_THAN_OR_EQUAL" || "EQUAL" || "BEFORE" || "AFTER" || "ON" || "BETWEEN" || "NOT_BETWEEN", // required + * Values: [ // EventTriggerValues // required + * "STRING_VALUE", + * ], + * }, + * ], + * }, + * ], + * LogicalOperator: "ANY" || "ALL" || "NONE", // required + * }, + * ], + * SegmentFilter: "STRING_VALUE", + * EventTriggerLimits: { // EventTriggerLimits + * EventExpiration: Number("long"), + * Periods: [ // Periods + * { // Period + * Unit: "HOURS" || "DAYS" || "WEEKS" || "MONTHS", // required + * Value: Number("int"), // required + * MaxInvocationsPerProfile: Number("int"), + * Unlimited: true || false, + * }, + * ], + * }, + * Tags: { // TagMap + * "You do not have sufficient access to perform this action.
+ * + * @throws {@link BadRequestException} (client fault) + *The input you provided is invalid.
+ * + * @throws {@link InternalServerException} (server fault) + *An internal service error occurred.
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *The requested resource does not exist, or access was denied.
+ * + * @throws {@link ThrottlingException} (client fault) + *You exceeded the maximum number of requests.
+ * + * @throws {@link CustomerProfilesServiceException} + *Base exception class for all service exceptions from CustomerProfiles service.
+ * + * @public + */ +export class CreateEventTriggerCommand extends $Command + .classBuilder< + CreateEventTriggerCommandInput, + CreateEventTriggerCommandOutput, + CustomerProfilesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: CustomerProfilesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("CustomerProfiles_20200815", "CreateEventTrigger", {}) + .n("CustomerProfilesClient", "CreateEventTriggerCommand") + .f(CreateEventTriggerRequestFilterSensitiveLog, CreateEventTriggerResponseFilterSensitiveLog) + .ser(se_CreateEventTriggerCommand) + .de(de_CreateEventTriggerCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateEventTriggerRequest; + output: CreateEventTriggerResponse; + }; + sdk: { + input: CreateEventTriggerCommandInput; + output: CreateEventTriggerCommandOutput; + }; + }; +} diff --git a/clients/client-customer-profiles/src/commands/DeleteEventTriggerCommand.ts b/clients/client-customer-profiles/src/commands/DeleteEventTriggerCommand.ts new file mode 100644 index 0000000000000..e805515338730 --- /dev/null +++ b/clients/client-customer-profiles/src/commands/DeleteEventTriggerCommand.ts @@ -0,0 +1,111 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { CustomerProfilesClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CustomerProfilesClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteEventTriggerRequest, DeleteEventTriggerResponse } from "../models/models_0"; +import { de_DeleteEventTriggerCommand, se_DeleteEventTriggerCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteEventTriggerCommand}. + */ +export interface DeleteEventTriggerCommandInput extends DeleteEventTriggerRequest {} +/** + * @public + * + * The output of {@link DeleteEventTriggerCommand}. + */ +export interface DeleteEventTriggerCommandOutput extends DeleteEventTriggerResponse, __MetadataBearer {} + +/** + *Disable and deletes the Event Trigger.
+ *You cannot delete an Event Trigger with an active Integration associated.
+ *You do not have sufficient access to perform this action.
+ * + * @throws {@link BadRequestException} (client fault) + *The input you provided is invalid.
+ * + * @throws {@link InternalServerException} (server fault) + *An internal service error occurred.
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *The requested resource does not exist, or access was denied.
+ * + * @throws {@link ThrottlingException} (client fault) + *You exceeded the maximum number of requests.
+ * + * @throws {@link CustomerProfilesServiceException} + *Base exception class for all service exceptions from CustomerProfiles service.
+ * + * @public + */ +export class DeleteEventTriggerCommand extends $Command + .classBuilder< + DeleteEventTriggerCommandInput, + DeleteEventTriggerCommandOutput, + CustomerProfilesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: CustomerProfilesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("CustomerProfiles_20200815", "DeleteEventTrigger", {}) + .n("CustomerProfilesClient", "DeleteEventTriggerCommand") + .f(void 0, void 0) + .ser(se_DeleteEventTriggerCommand) + .de(de_DeleteEventTriggerCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteEventTriggerRequest; + output: DeleteEventTriggerResponse; + }; + sdk: { + input: DeleteEventTriggerCommandInput; + output: DeleteEventTriggerCommandOutput; + }; + }; +} diff --git a/clients/client-customer-profiles/src/commands/GetEventTriggerCommand.ts b/clients/client-customer-profiles/src/commands/GetEventTriggerCommand.ts new file mode 100644 index 0000000000000..640841e52fd2c --- /dev/null +++ b/clients/client-customer-profiles/src/commands/GetEventTriggerCommand.ts @@ -0,0 +1,150 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { CustomerProfilesClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CustomerProfilesClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + GetEventTriggerRequest, + GetEventTriggerResponse, + GetEventTriggerResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_GetEventTriggerCommand, se_GetEventTriggerCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetEventTriggerCommand}. + */ +export interface GetEventTriggerCommandInput extends GetEventTriggerRequest {} +/** + * @public + * + * The output of {@link GetEventTriggerCommand}. + */ +export interface GetEventTriggerCommandOutput extends GetEventTriggerResponse, __MetadataBearer {} + +/** + *Get a specific Event Trigger from the domain.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { CustomerProfilesClient, GetEventTriggerCommand } from "@aws-sdk/client-customer-profiles"; // ES Modules import + * // const { CustomerProfilesClient, GetEventTriggerCommand } = require("@aws-sdk/client-customer-profiles"); // CommonJS import + * const client = new CustomerProfilesClient(config); + * const input = { // GetEventTriggerRequest + * DomainName: "STRING_VALUE", // required + * EventTriggerName: "STRING_VALUE", // required + * }; + * const command = new GetEventTriggerCommand(input); + * const response = await client.send(command); + * // { // GetEventTriggerResponse + * // EventTriggerName: "STRING_VALUE", + * // ObjectTypeName: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // EventTriggerConditions: [ // EventTriggerConditions + * // { // EventTriggerCondition + * // EventTriggerDimensions: [ // EventTriggerDimensions // required + * // { // EventTriggerDimension + * // ObjectAttributes: [ // ObjectAttributes // required + * // { // ObjectAttribute + * // Source: "STRING_VALUE", + * // FieldName: "STRING_VALUE", + * // ComparisonOperator: "INCLUSIVE" || "EXCLUSIVE" || "CONTAINS" || "BEGINS_WITH" || "ENDS_WITH" || "GREATER_THAN" || "LESS_THAN" || "GREATER_THAN_OR_EQUAL" || "LESS_THAN_OR_EQUAL" || "EQUAL" || "BEFORE" || "AFTER" || "ON" || "BETWEEN" || "NOT_BETWEEN", // required + * // Values: [ // EventTriggerValues // required + * // "STRING_VALUE", + * // ], + * // }, + * // ], + * // }, + * // ], + * // LogicalOperator: "ANY" || "ALL" || "NONE", // required + * // }, + * // ], + * // SegmentFilter: "STRING_VALUE", + * // EventTriggerLimits: { // EventTriggerLimits + * // EventExpiration: Number("long"), + * // Periods: [ // Periods + * // { // Period + * // Unit: "HOURS" || "DAYS" || "WEEKS" || "MONTHS", // required + * // Value: Number("int"), // required + * // MaxInvocationsPerProfile: Number("int"), + * // Unlimited: true || false, + * // }, + * // ], + * // }, + * // CreatedAt: new Date("TIMESTAMP"), + * // LastUpdatedAt: new Date("TIMESTAMP"), + * // Tags: { // TagMap + * // "You do not have sufficient access to perform this action.
+ * + * @throws {@link BadRequestException} (client fault) + *The input you provided is invalid.
+ * + * @throws {@link InternalServerException} (server fault) + *An internal service error occurred.
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *The requested resource does not exist, or access was denied.
+ * + * @throws {@link ThrottlingException} (client fault) + *You exceeded the maximum number of requests.
+ * + * @throws {@link CustomerProfilesServiceException} + *Base exception class for all service exceptions from CustomerProfiles service.
+ * + * @public + */ +export class GetEventTriggerCommand extends $Command + .classBuilder< + GetEventTriggerCommandInput, + GetEventTriggerCommandOutput, + CustomerProfilesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: CustomerProfilesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("CustomerProfiles_20200815", "GetEventTrigger", {}) + .n("CustomerProfilesClient", "GetEventTriggerCommand") + .f(void 0, GetEventTriggerResponseFilterSensitiveLog) + .ser(se_GetEventTriggerCommand) + .de(de_GetEventTriggerCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetEventTriggerRequest; + output: GetEventTriggerResponse; + }; + sdk: { + input: GetEventTriggerCommandInput; + output: GetEventTriggerCommandOutput; + }; + }; +} diff --git a/clients/client-customer-profiles/src/commands/GetIntegrationCommand.ts b/clients/client-customer-profiles/src/commands/GetIntegrationCommand.ts index 9cd7645f1cb11..e4a21544df2ec 100644 --- a/clients/client-customer-profiles/src/commands/GetIntegrationCommand.ts +++ b/clients/client-customer-profiles/src/commands/GetIntegrationCommand.ts @@ -56,6 +56,9 @@ export interface GetIntegrationCommandOutput extends GetIntegrationResponse, __M * // WorkflowId: "STRING_VALUE", * // IsUnstructured: true || false, * // RoleArn: "STRING_VALUE", + * // EventTriggerNames: [ // EventTriggerNames + * // "STRING_VALUE", + * // ], * // }; * * ``` diff --git a/clients/client-customer-profiles/src/commands/ListAccountIntegrationsCommand.ts b/clients/client-customer-profiles/src/commands/ListAccountIntegrationsCommand.ts index 4df4bac1124d9..48090a78e2cca 100644 --- a/clients/client-customer-profiles/src/commands/ListAccountIntegrationsCommand.ts +++ b/clients/client-customer-profiles/src/commands/ListAccountIntegrationsCommand.ts @@ -60,6 +60,9 @@ export interface ListAccountIntegrationsCommandOutput extends ListAccountIntegra * // WorkflowId: "STRING_VALUE", * // IsUnstructured: true || false, * // RoleArn: "STRING_VALUE", + * // EventTriggerNames: [ // EventTriggerNames + * // "STRING_VALUE", + * // ], * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-customer-profiles/src/commands/ListEventTriggersCommand.ts b/clients/client-customer-profiles/src/commands/ListEventTriggersCommand.ts new file mode 100644 index 0000000000000..bca6a814938ef --- /dev/null +++ b/clients/client-customer-profiles/src/commands/ListEventTriggersCommand.ts @@ -0,0 +1,125 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { CustomerProfilesClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CustomerProfilesClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListEventTriggersRequest, + ListEventTriggersResponse, + ListEventTriggersResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_ListEventTriggersCommand, se_ListEventTriggersCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListEventTriggersCommand}. + */ +export interface ListEventTriggersCommandInput extends ListEventTriggersRequest {} +/** + * @public + * + * The output of {@link ListEventTriggersCommand}. + */ +export interface ListEventTriggersCommandOutput extends ListEventTriggersResponse, __MetadataBearer {} + +/** + *List all Event Triggers under a domain.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { CustomerProfilesClient, ListEventTriggersCommand } from "@aws-sdk/client-customer-profiles"; // ES Modules import + * // const { CustomerProfilesClient, ListEventTriggersCommand } = require("@aws-sdk/client-customer-profiles"); // CommonJS import + * const client = new CustomerProfilesClient(config); + * const input = { // ListEventTriggersRequest + * DomainName: "STRING_VALUE", // required + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * }; + * const command = new ListEventTriggersCommand(input); + * const response = await client.send(command); + * // { // ListEventTriggersResponse + * // Items: [ // EventTriggerSummaryList + * // { // EventTriggerSummaryItem + * // ObjectTypeName: "STRING_VALUE", + * // EventTriggerName: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // CreatedAt: new Date("TIMESTAMP"), + * // LastUpdatedAt: new Date("TIMESTAMP"), + * // Tags: { // TagMap + * // "You do not have sufficient access to perform this action.
+ * + * @throws {@link BadRequestException} (client fault) + *The input you provided is invalid.
+ * + * @throws {@link InternalServerException} (server fault) + *An internal service error occurred.
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *The requested resource does not exist, or access was denied.
+ * + * @throws {@link ThrottlingException} (client fault) + *You exceeded the maximum number of requests.
+ * + * @throws {@link CustomerProfilesServiceException} + *Base exception class for all service exceptions from CustomerProfiles service.
+ * + * @public + */ +export class ListEventTriggersCommand extends $Command + .classBuilder< + ListEventTriggersCommandInput, + ListEventTriggersCommandOutput, + CustomerProfilesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: CustomerProfilesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("CustomerProfiles_20200815", "ListEventTriggers", {}) + .n("CustomerProfilesClient", "ListEventTriggersCommand") + .f(void 0, ListEventTriggersResponseFilterSensitiveLog) + .ser(se_ListEventTriggersCommand) + .de(de_ListEventTriggersCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListEventTriggersRequest; + output: ListEventTriggersResponse; + }; + sdk: { + input: ListEventTriggersCommandInput; + output: ListEventTriggersCommandOutput; + }; + }; +} diff --git a/clients/client-customer-profiles/src/commands/ListIntegrationsCommand.ts b/clients/client-customer-profiles/src/commands/ListIntegrationsCommand.ts index d9f1f64be81ca..6ac4ca6913b3b 100644 --- a/clients/client-customer-profiles/src/commands/ListIntegrationsCommand.ts +++ b/clients/client-customer-profiles/src/commands/ListIntegrationsCommand.ts @@ -60,6 +60,9 @@ export interface ListIntegrationsCommandOutput extends ListIntegrationsResponse, * // WorkflowId: "STRING_VALUE", * // IsUnstructured: true || false, * // RoleArn: "STRING_VALUE", + * // EventTriggerNames: [ // EventTriggerNames + * // "STRING_VALUE", + * // ], * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-customer-profiles/src/commands/PutIntegrationCommand.ts b/clients/client-customer-profiles/src/commands/PutIntegrationCommand.ts index 1dd8894e27526..b24c4967eed40 100644 --- a/clients/client-customer-profiles/src/commands/PutIntegrationCommand.ts +++ b/clients/client-customer-profiles/src/commands/PutIntegrationCommand.ts @@ -120,6 +120,9 @@ export interface PutIntegrationCommandOutput extends PutIntegrationResponse, __M * "Update the properties of an Event Trigger.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { CustomerProfilesClient, UpdateEventTriggerCommand } from "@aws-sdk/client-customer-profiles"; // ES Modules import + * // const { CustomerProfilesClient, UpdateEventTriggerCommand } = require("@aws-sdk/client-customer-profiles"); // CommonJS import + * const client = new CustomerProfilesClient(config); + * const input = { // UpdateEventTriggerRequest + * DomainName: "STRING_VALUE", // required + * EventTriggerName: "STRING_VALUE", // required + * ObjectTypeName: "STRING_VALUE", + * Description: "STRING_VALUE", + * EventTriggerConditions: [ // EventTriggerConditions + * { // EventTriggerCondition + * EventTriggerDimensions: [ // EventTriggerDimensions // required + * { // EventTriggerDimension + * ObjectAttributes: [ // ObjectAttributes // required + * { // ObjectAttribute + * Source: "STRING_VALUE", + * FieldName: "STRING_VALUE", + * ComparisonOperator: "INCLUSIVE" || "EXCLUSIVE" || "CONTAINS" || "BEGINS_WITH" || "ENDS_WITH" || "GREATER_THAN" || "LESS_THAN" || "GREATER_THAN_OR_EQUAL" || "LESS_THAN_OR_EQUAL" || "EQUAL" || "BEFORE" || "AFTER" || "ON" || "BETWEEN" || "NOT_BETWEEN", // required + * Values: [ // EventTriggerValues // required + * "STRING_VALUE", + * ], + * }, + * ], + * }, + * ], + * LogicalOperator: "ANY" || "ALL" || "NONE", // required + * }, + * ], + * SegmentFilter: "STRING_VALUE", + * EventTriggerLimits: { // EventTriggerLimits + * EventExpiration: Number("long"), + * Periods: [ // Periods + * { // Period + * Unit: "HOURS" || "DAYS" || "WEEKS" || "MONTHS", // required + * Value: Number("int"), // required + * MaxInvocationsPerProfile: Number("int"), + * Unlimited: true || false, + * }, + * ], + * }, + * }; + * const command = new UpdateEventTriggerCommand(input); + * const response = await client.send(command); + * // { // UpdateEventTriggerResponse + * // EventTriggerName: "STRING_VALUE", + * // ObjectTypeName: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // EventTriggerConditions: [ // EventTriggerConditions + * // { // EventTriggerCondition + * // EventTriggerDimensions: [ // EventTriggerDimensions // required + * // { // EventTriggerDimension + * // ObjectAttributes: [ // ObjectAttributes // required + * // { // ObjectAttribute + * // Source: "STRING_VALUE", + * // FieldName: "STRING_VALUE", + * // ComparisonOperator: "INCLUSIVE" || "EXCLUSIVE" || "CONTAINS" || "BEGINS_WITH" || "ENDS_WITH" || "GREATER_THAN" || "LESS_THAN" || "GREATER_THAN_OR_EQUAL" || "LESS_THAN_OR_EQUAL" || "EQUAL" || "BEFORE" || "AFTER" || "ON" || "BETWEEN" || "NOT_BETWEEN", // required + * // Values: [ // EventTriggerValues // required + * // "STRING_VALUE", + * // ], + * // }, + * // ], + * // }, + * // ], + * // LogicalOperator: "ANY" || "ALL" || "NONE", // required + * // }, + * // ], + * // SegmentFilter: "STRING_VALUE", + * // EventTriggerLimits: { // EventTriggerLimits + * // EventExpiration: Number("long"), + * // Periods: [ // Periods + * // { // Period + * // Unit: "HOURS" || "DAYS" || "WEEKS" || "MONTHS", // required + * // Value: Number("int"), // required + * // MaxInvocationsPerProfile: Number("int"), + * // Unlimited: true || false, + * // }, + * // ], + * // }, + * // CreatedAt: new Date("TIMESTAMP"), + * // LastUpdatedAt: new Date("TIMESTAMP"), + * // Tags: { // TagMap + * // "You do not have sufficient access to perform this action.
+ * + * @throws {@link BadRequestException} (client fault) + *The input you provided is invalid.
+ * + * @throws {@link InternalServerException} (server fault) + *An internal service error occurred.
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *The requested resource does not exist, or access was denied.
+ * + * @throws {@link ThrottlingException} (client fault) + *You exceeded the maximum number of requests.
+ * + * @throws {@link CustomerProfilesServiceException} + *Base exception class for all service exceptions from CustomerProfiles service.
+ * + * @public + */ +export class UpdateEventTriggerCommand extends $Command + .classBuilder< + UpdateEventTriggerCommandInput, + UpdateEventTriggerCommandOutput, + CustomerProfilesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: CustomerProfilesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("CustomerProfiles_20200815", "UpdateEventTrigger", {}) + .n("CustomerProfilesClient", "UpdateEventTriggerCommand") + .f(UpdateEventTriggerRequestFilterSensitiveLog, UpdateEventTriggerResponseFilterSensitiveLog) + .ser(se_UpdateEventTriggerCommand) + .de(de_UpdateEventTriggerCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateEventTriggerRequest; + output: UpdateEventTriggerResponse; + }; + sdk: { + input: UpdateEventTriggerCommandInput; + output: UpdateEventTriggerCommandOutput; + }; + }; +} diff --git a/clients/client-customer-profiles/src/commands/index.ts b/clients/client-customer-profiles/src/commands/index.ts index 3fc679176eb88..cfcb0300cff33 100644 --- a/clients/client-customer-profiles/src/commands/index.ts +++ b/clients/client-customer-profiles/src/commands/index.ts @@ -5,6 +5,7 @@ export * from "./BatchGetProfileCommand"; export * from "./CreateCalculatedAttributeDefinitionCommand"; export * from "./CreateDomainCommand"; export * from "./CreateEventStreamCommand"; +export * from "./CreateEventTriggerCommand"; export * from "./CreateIntegrationWorkflowCommand"; export * from "./CreateProfileCommand"; export * from "./CreateSegmentDefinitionCommand"; @@ -13,6 +14,7 @@ export * from "./CreateSegmentSnapshotCommand"; export * from "./DeleteCalculatedAttributeDefinitionCommand"; export * from "./DeleteDomainCommand"; export * from "./DeleteEventStreamCommand"; +export * from "./DeleteEventTriggerCommand"; export * from "./DeleteIntegrationCommand"; export * from "./DeleteProfileCommand"; export * from "./DeleteProfileKeyCommand"; @@ -26,6 +28,7 @@ export * from "./GetCalculatedAttributeDefinitionCommand"; export * from "./GetCalculatedAttributeForProfileCommand"; export * from "./GetDomainCommand"; export * from "./GetEventStreamCommand"; +export * from "./GetEventTriggerCommand"; export * from "./GetIdentityResolutionJobCommand"; export * from "./GetIntegrationCommand"; export * from "./GetMatchesCommand"; @@ -43,6 +46,7 @@ export * from "./ListCalculatedAttributeDefinitionsCommand"; export * from "./ListCalculatedAttributesForProfileCommand"; export * from "./ListDomainsCommand"; export * from "./ListEventStreamsCommand"; +export * from "./ListEventTriggersCommand"; export * from "./ListIdentityResolutionJobsCommand"; export * from "./ListIntegrationsCommand"; export * from "./ListObjectTypeAttributesCommand"; @@ -63,4 +67,5 @@ export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateCalculatedAttributeDefinitionCommand"; export * from "./UpdateDomainCommand"; +export * from "./UpdateEventTriggerCommand"; export * from "./UpdateProfileCommand"; diff --git a/clients/client-customer-profiles/src/models/models_0.ts b/clients/client-customer-profiles/src/models/models_0.ts index af17003997d14..fca7945b2596b 100644 --- a/clients/client-customer-profiles/src/models/models_0.ts +++ b/clients/client-customer-profiles/src/models/models_0.ts @@ -1224,7 +1224,8 @@ export const FilterDimensionType = { export type FilterDimensionType = (typeof FilterDimensionType)[keyof typeof FilterDimensionType]; /** - *Object that defines how to filter the incoming objects for the calculated attribute.
+ *Object that defines how to filter the incoming objects for the calculated + * attribute.
* @public */ export interface FilterAttributeDimension { @@ -1499,7 +1500,8 @@ export interface RangeOverride { */ export interface ConditionOverrides { /** - *The relative time period over which data is included in the aggregation for this override.
+ *The relative time period over which data is included in the aggregation for this + * override.
* @public */ Range?: RangeOverride | undefined; @@ -1528,7 +1530,8 @@ export interface BatchGetCalculatedAttributeForProfileRequest { ProfileIds: string[] | undefined; /** - *Overrides the condition block within the original calculated attribute definition.
+ *Overrides the condition block within the original calculated attribute + * definition.
* @public */ ConditionOverrides?: ConditionOverrides | undefined; @@ -1552,7 +1555,8 @@ export interface CalculatedAttributeValue { DisplayName?: string | undefined; /** - *Indicates whether the calculated attribute's value is based on partial data. If the data is partial, it is set to true.
+ *Indicates whether the calculated attribute's value is based on partial data. If the data + * is partial, it is set to true.
* @public */ IsDataPartial?: string | undefined; @@ -1611,7 +1615,8 @@ export interface BatchGetCalculatedAttributeForProfileResponse { CalculatedAttributeValues?: CalculatedAttributeValue[] | undefined; /** - *Overrides the condition block within the original calculated attribute definition.
+ *Overrides the condition block within the original calculated attribute + * definition.
* @public */ ConditionOverrides?: ConditionOverrides | undefined; @@ -1898,7 +1903,8 @@ export interface Profile { */ export interface BatchGetProfileResponse { /** - *For information about the errors that are common to all actions, see Common Errors.
+ *For information about the errors that are common to all actions, see Common + * Errors.
* @public */ Errors?: BatchGetProfileError[] | undefined; @@ -2008,6 +2014,33 @@ export interface ListCalculatedAttributeForProfileItem { Value?: string | undefined; } +/** + * @public + * @enum + */ +export const ComparisonOperator = { + AFTER: "AFTER", + BEFORE: "BEFORE", + BEGINS_WITH: "BEGINS_WITH", + BETWEEN: "BETWEEN", + CONTAINS: "CONTAINS", + ENDS_WITH: "ENDS_WITH", + EQUAL: "EQUAL", + EXCLUSIVE: "EXCLUSIVE", + GREATER_THAN: "GREATER_THAN", + GREATER_THAN_OR_EQUAL: "GREATER_THAN_OR_EQUAL", + INCLUSIVE: "INCLUSIVE", + LESS_THAN: "LESS_THAN", + LESS_THAN_OR_EQUAL: "LESS_THAN_OR_EQUAL", + NOT_BETWEEN: "NOT_BETWEEN", + ON: "ON", +} as const; + +/** + * @public + */ +export type ComparisonOperator = (typeof ComparisonOperator)[keyof typeof ComparisonOperator]; + /** * @public * @enum @@ -2164,7 +2197,8 @@ export type Include = (typeof Include)[keyof typeof Include]; */ export interface Filter { /** - *Define whether to include or exclude objects for Calculated Attributed calculation that fit the filter groups criteria.
+ *Define whether to include or exclude objects for Calculated Attributed calculation that + * fit the filter groups criteria.
* @public */ Include: Include | undefined; @@ -2239,7 +2273,8 @@ export interface CreateCalculatedAttributeDefinitionRequest { Conditions?: Conditions | undefined; /** - *Defines how to filter incoming objects to include part of the Calculated Attribute.
+ *Defines how to filter incoming objects to include part of the Calculated + * Attribute.
* @public */ Filter?: Filter | undefined; @@ -2871,6 +2906,262 @@ export interface CreateEventStreamResponse { Tags?: RecordThe criteria that a specific object attribute must meet to trigger the destination.
+ * @public + */ +export interface ObjectAttribute { + /** + *An attribute contained within a source object.
+ * @public + */ + Source?: string | undefined; + + /** + *A field defined within an object type.
+ * @public + */ + FieldName?: string | undefined; + + /** + *The operator used to compare an attribute against a list of values.
+ * @public + */ + ComparisonOperator: ComparisonOperator | undefined; + + /** + *A list of attribute values used for comparison.
+ * @public + */ + Values: string[] | undefined; +} + +/** + *A specific event dimension to be assessed.
+ * @public + */ +export interface EventTriggerDimension { + /** + *A list of object attributes to be evaluated.
+ * @public + */ + ObjectAttributes: ObjectAttribute[] | undefined; +} + +/** + * @public + * @enum + */ +export const EventTriggerLogicalOperator = { + ALL: "ALL", + ANY: "ANY", + NONE: "NONE", +} as const; + +/** + * @public + */ +export type EventTriggerLogicalOperator = + (typeof EventTriggerLogicalOperator)[keyof typeof EventTriggerLogicalOperator]; + +/** + *Specifies the circumstances under which the event should trigger the destination.
+ * @public + */ +export interface EventTriggerCondition { + /** + *A list of dimensions to be evaluated for the event.
+ * @public + */ + EventTriggerDimensions: EventTriggerDimension[] | undefined; + + /** + *The operator used to combine multiple dimensions.
+ * @public + */ + LogicalOperator: EventTriggerLogicalOperator | undefined; +} + +/** + * @public + * @enum + */ +export const PeriodUnit = { + DAYS: "DAYS", + HOURS: "HOURS", + MONTHS: "MONTHS", + WEEKS: "WEEKS", +} as const; + +/** + * @public + */ +export type PeriodUnit = (typeof PeriodUnit)[keyof typeof PeriodUnit]; + +/** + *Defines a limit and the time period during which it is enforced.
+ * @public + */ +export interface Period { + /** + *The unit of time.
+ * @public + */ + Unit: PeriodUnit | undefined; + + /** + *The amount of time of the specified unit.
+ * @public + */ + Value: number | undefined; + + /** + *The maximum allowed number of destination invocations per profile.
+ * @public + */ + MaxInvocationsPerProfile?: number | undefined; + + /** + *If set to true, there is no limit on the number of destination invocations per profile. The default is false.
+ * @public + */ + Unlimited?: boolean | undefined; +} + +/** + *Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
+ * @public + */ +export interface EventTriggerLimits { + /** + *In milliseconds. Specifies that an event will only trigger the destination if it is processed within a certain latency period.
+ * @public + */ + EventExpiration?: number | undefined; + + /** + *A list of time periods during which the limits apply.
+ * @public + */ + Periods?: Period[] | undefined; +} + +/** + * @public + */ +export interface CreateEventTriggerRequest { + /** + *The unique name of the domain.
+ * @public + */ + DomainName: string | undefined; + + /** + *The unique name of the event trigger.
+ * @public + */ + EventTriggerName: string | undefined; + + /** + *The unique name of the object type.
+ * @public + */ + ObjectTypeName: string | undefined; + + /** + *The description of the event trigger.
+ * @public + */ + Description?: string | undefined; + + /** + *A list of conditions that determine when an event should trigger the destination.
+ * @public + */ + EventTriggerConditions: EventTriggerCondition[] | undefined; + + /** + *The destination is triggered only for profiles that meet the criteria of a segment + * definition.
+ * @public + */ + SegmentFilter?: string | undefined; + + /** + *Defines limits controlling whether an event triggers the destination, based on ingestion + * latency and the number of invocations per profile over specific time periods.
+ * @public + */ + EventTriggerLimits?: EventTriggerLimits | undefined; + + /** + *An array of key-value pairs to apply to this resource.
+ * @public + */ + Tags?: RecordThe unique name of the event trigger.
+ * @public + */ + EventTriggerName?: string | undefined; + + /** + *The unique name of the object type.
+ * @public + */ + ObjectTypeName?: string | undefined; + + /** + *The description of the event trigger.
+ * @public + */ + Description?: string | undefined; + + /** + *A list of conditions that determine when an event should trigger the destination.
+ * @public + */ + EventTriggerConditions?: EventTriggerCondition[] | undefined; + + /** + *The destination is triggered only for profiles that meet the criteria of a segment + * definition.
+ * @public + */ + SegmentFilter?: string | undefined; + + /** + *Defines limits controlling whether an event triggers the destination, based on ingestion + * latency and the number of invocations per profile over specific time periods.
+ * @public + */ + EventTriggerLimits?: EventTriggerLimits | undefined; + + /** + *The timestamp of when the event trigger was created.
+ * @public + */ + CreatedAt?: Date | undefined; + + /** + *The timestamp of when the event trigger was most recently updated.
+ * @public + */ + LastUpdatedAt?: Date | undefined; + + /** + *An array of key-value pairs to apply to this resource.
+ * @public + */ + Tags?: RecordConfiguration data for integration workflow.
* @public @@ -3122,7 +3413,8 @@ export interface CreateProfileResponse { } /** - *Object that segments on various Customer profile's fields that are larger than normal.
+ *Object that segments on various Customer profile's fields that are larger than + * normal.
* @public */ export interface ExtraLengthValueProfileDimension { @@ -3465,7 +3757,8 @@ export interface CreateSegmentDefinitionRequest { Description?: string | undefined; /** - *Specifies the base segments and dimensions for a segment definition along with their respective relationship.
+ *Specifies the base segments and dimensions for a segment definition along with their + * respective relationship.
* @public */ SegmentGroups: SegmentGroup | undefined; @@ -3564,7 +3857,9 @@ export interface CreateSegmentEstimateResponse { DomainName?: string | undefined; /** - *A unique identifier for the resource. The value can be passed to GetSegmentEstimate
to retrieve the result of segment estimate status.
A unique identifier for the resource. The value can be passed to
+ * GetSegmentEstimate
to retrieve the result of segment estimate
+ * status.
The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported segment.
+ *The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported + * segment.
* @public */ EncryptionKey?: string | undefined; /** - *The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service principal to assume the role for conducting KMS and S3 operations.
+ *The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service + * principal to assume the role for conducting KMS and S3 operations.
* @public */ RoleArn?: string | undefined; /** - *The destination to which the segment will be exported. This field must be provided if the request is not submitted from the Amazon Connect Admin Website.
+ *The destination to which the segment will be exported. This field must be provided if + * the request is not submitted from the Amazon Connect Admin Website.
* @public */ DestinationUri?: string | undefined; @@ -3709,6 +4007,34 @@ export interface DeleteEventStreamRequest { */ export interface DeleteEventStreamResponse {} +/** + * @public + */ +export interface DeleteEventTriggerRequest { + /** + *The unique name of the domain.
+ * @public + */ + DomainName: string | undefined; + + /** + *The unique name of the event trigger.
+ * @public + */ + EventTriggerName: string | undefined; +} + +/** + * @public + */ +export interface DeleteEventTriggerResponse { + /** + *A message that indicates the delete request is done.
+ * @public + */ + Message: string | undefined; +} + /** * @public */ @@ -4514,6 +4840,83 @@ export interface GetEventStreamResponse { Tags?: RecordThe unique name of the domain.
+ * @public + */ + DomainName: string | undefined; + + /** + *The unique name of the event trigger.
+ * @public + */ + EventTriggerName: string | undefined; +} + +/** + * @public + */ +export interface GetEventTriggerResponse { + /** + *The unique name of the event trigger.
+ * @public + */ + EventTriggerName?: string | undefined; + + /** + *The unique name of the object type.
+ * @public + */ + ObjectTypeName?: string | undefined; + + /** + *The description of the event trigger.
+ * @public + */ + Description?: string | undefined; + + /** + *A list of conditions that determine when an event should trigger the destination.
+ * @public + */ + EventTriggerConditions?: EventTriggerCondition[] | undefined; + + /** + *The destination is triggered only for profiles that meet the criteria of a segment + * definition.
+ * @public + */ + SegmentFilter?: string | undefined; + + /** + *Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
+ * @public + */ + EventTriggerLimits?: EventTriggerLimits | undefined; + + /** + *The timestamp of when the event trigger was created.
+ * @public + */ + CreatedAt?: Date | undefined; + + /** + *The timestamp of when the event trigger was most recently updated.
+ * @public + */ + LastUpdatedAt?: Date | undefined; + + /** + *An array of key-value pairs to apply to this resource.
+ * @public + */ + Tags?: RecordA list of unique names for active event triggers associated with the integration. This + * list would be empty if no Event Trigger is associated with the integration.
+ * @public + */ + EventTriggerNames?: string[] | undefined; } /** @@ -5163,7 +5573,8 @@ export interface GetSegmentEstimateResponse { DomainName?: string | undefined; /** - *The QueryId
which is the same as the value passed in QueryId
.
The QueryId
which is the same as the value passed in
+ * QueryId
.
An array of maps where each contains a response per profile failed for the request.
+ *An array of maps where each contains a response per profile failed for the + * request.
* @public */ Failures?: ProfileQueryFailures[] | undefined; @@ -5368,19 +5780,22 @@ export interface GetSegmentSnapshotResponse { DataFormat: DataFormat | undefined; /** - *The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported segment.
+ *The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported + * segment.
* @public */ EncryptionKey?: string | undefined; /** - *The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service principal to assume the role for conducting KMS and S3 operations.
+ *The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service + * principal to assume the role for conducting KMS and S3 operations.
* @public */ RoleArn?: string | undefined; /** - *The destination to which the segment will be exported. This field must be provided if the request is not submitted from the Amazon Connect Admin Website.
+ *The destination to which the segment will be exported. This field must be provided if + * the request is not submitted from the Amazon Connect Admin Website.
* @public */ DestinationUri?: string | undefined; @@ -5752,6 +6167,12 @@ export interface ListIntegrationItem { * @public */ RoleArn?: string | undefined; + + /** + *A list of unique names for active event triggers associated with the integration.
+ * @public + */ + EventTriggerNames?: string[] | undefined; } /** @@ -6038,6 +6459,88 @@ export interface ListEventStreamsResponse { NextToken?: string | undefined; } +/** + * @public + */ +export interface ListEventTriggersRequest { + /** + *The unique name of the domain.
+ * @public + */ + DomainName: string | undefined; + + /** + *The pagination token to use with ListEventTriggers.
+ * @public + */ + NextToken?: string | undefined; + + /** + *The maximum number of results to return per page.
+ * @public + */ + MaxResults?: number | undefined; +} + +/** + *The summary of the event trigger.
+ * @public + */ +export interface EventTriggerSummaryItem { + /** + *The unique name of the object type.
+ * @public + */ + ObjectTypeName?: string | undefined; + + /** + *The unique name of the event trigger.
+ * @public + */ + EventTriggerName?: string | undefined; + + /** + *The description of the event trigger.
+ * @public + */ + Description?: string | undefined; + + /** + *The timestamp of when the event trigger was created.
+ * @public + */ + CreatedAt?: Date | undefined; + + /** + *The timestamp of when the event trigger was most recently updated.
+ * @public + */ + LastUpdatedAt?: Date | undefined; + + /** + *An array of key-value pairs to apply to this resource.
+ * @public + */ + Tags?: RecordThe list of Event Triggers.
+ * @public + */ + Items?: EventTriggerSummaryItem[] | undefined; + + /** + *The pagination token from the previous call to ListEventTriggers.
+ * @public + */ + NextToken?: string | undefined; +} + /** * @public */ @@ -7053,6 +7556,12 @@ export interface PutIntegrationRequest { * @public */ RoleArn?: string | undefined; + + /** + *A list of unique names for active event triggers associated with the integration.
+ * @public + */ + EventTriggerNames?: string[] | undefined; } /** @@ -7123,6 +7632,13 @@ export interface PutIntegrationResponse { * @public */ RoleArn?: string | undefined; + + /** + *A list of unique names for active event triggers associated with the integration. This + * list would be empty if no Event Trigger is associated with the integration.
+ * @public + */ + EventTriggerNames?: string[] | undefined; } /** @@ -7733,6 +8249,114 @@ export interface UpdateDomainResponse { Tags?: RecordThe unique name of the domain.
+ * @public + */ + DomainName: string | undefined; + + /** + *The unique name of the event trigger.
+ * @public + */ + EventTriggerName: string | undefined; + + /** + *The unique name of the object type.
+ * @public + */ + ObjectTypeName?: string | undefined; + + /** + *The description of the event trigger.
+ * @public + */ + Description?: string | undefined; + + /** + *A list of conditions that determine when an event should trigger the destination.
+ * @public + */ + EventTriggerConditions?: EventTriggerCondition[] | undefined; + + /** + *The destination is triggered only for profiles that meet the criteria of a segment + * definition.
+ * @public + */ + SegmentFilter?: string | undefined; + + /** + *Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
+ * @public + */ + EventTriggerLimits?: EventTriggerLimits | undefined; +} + +/** + * @public + */ +export interface UpdateEventTriggerResponse { + /** + *The unique name of the event trigger.
+ * @public + */ + EventTriggerName?: string | undefined; + + /** + *The unique name of the object type.
+ * @public + */ + ObjectTypeName?: string | undefined; + + /** + *The description of the event trigger.
+ * @public + */ + Description?: string | undefined; + + /** + *A list of conditions that determine when an event should trigger the destination.
+ * @public + */ + EventTriggerConditions?: EventTriggerCondition[] | undefined; + + /** + *The destination is triggered only for profiles that meet the criteria of a segment + * definition.
+ * @public + */ + SegmentFilter?: string | undefined; + + /** + *Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
+ * @public + */ + EventTriggerLimits?: EventTriggerLimits | undefined; + + /** + *The timestamp of when the event trigger was created.
+ * @public + */ + CreatedAt?: Date | undefined; + + /** + *The timestamp of when the event trigger was most recently updated.
+ * @public + */ + LastUpdatedAt?: Date | undefined; + + /** + *An array of key-value pairs to apply to this resource.
+ * @public + */ + Tags?: RecordUpdates associated with the address properties of a customer profile.
* @public @@ -8117,6 +8741,24 @@ export const CreateCalculatedAttributeDefinitionResponseFilterSensitiveLog = ( ...(obj.Statistic && { Statistic: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const CreateEventTriggerRequestFilterSensitiveLog = (obj: CreateEventTriggerRequest): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), + ...(obj.EventTriggerConditions && { EventTriggerConditions: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const CreateEventTriggerResponseFilterSensitiveLog = (obj: CreateEventTriggerResponse): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), + ...(obj.EventTriggerConditions && { EventTriggerConditions: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -8278,6 +8920,15 @@ export const GetCalculatedAttributeDefinitionResponseFilterSensitiveLog = ( ...(obj.AttributeDetails && { AttributeDetails: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const GetEventTriggerResponseFilterSensitiveLog = (obj: GetEventTriggerResponse): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), + ...(obj.EventTriggerConditions && { EventTriggerConditions: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -8334,6 +8985,14 @@ export const ListCalculatedAttributeDefinitionsResponseFilterSensitiveLog = ( ...(obj.Items && { Items: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const ListEventTriggersResponseFilterSensitiveLog = (obj: ListEventTriggersResponse): any => ({ + ...obj, + ...(obj.Items && { Items: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -8442,6 +9101,24 @@ export const UpdateCalculatedAttributeDefinitionResponseFilterSensitiveLog = ( ...(obj.AttributeDetails && { AttributeDetails: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const UpdateEventTriggerRequestFilterSensitiveLog = (obj: UpdateEventTriggerRequest): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), + ...(obj.EventTriggerConditions && { EventTriggerConditions: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const UpdateEventTriggerResponseFilterSensitiveLog = (obj: UpdateEventTriggerResponse): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), + ...(obj.EventTriggerConditions && { EventTriggerConditions: SENSITIVE_STRING }), +}); + /** * @internal */ diff --git a/clients/client-customer-profiles/src/pagination/ListEventTriggersPaginator.ts b/clients/client-customer-profiles/src/pagination/ListEventTriggersPaginator.ts new file mode 100644 index 0000000000000..7de48ccb77f9a --- /dev/null +++ b/clients/client-customer-profiles/src/pagination/ListEventTriggersPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListEventTriggersCommand, + ListEventTriggersCommandInput, + ListEventTriggersCommandOutput, +} from "../commands/ListEventTriggersCommand"; +import { CustomerProfilesClient } from "../CustomerProfilesClient"; +import { CustomerProfilesPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListEventTriggers: ( + config: CustomerProfilesPaginationConfiguration, + input: ListEventTriggersCommandInput, + ...rest: any[] +) => PaginatorOverrides the condition block within the original calculated attribute definition.
" + "smithy.api#documentation": "Overrides the condition block within the original calculated attribute\n definition.
" } } }, @@ -904,7 +904,7 @@ "ConditionOverrides": { "target": "com.amazonaws.customerprofiles#ConditionOverrides", "traits": { - "smithy.api#documentation": "Overrides the condition block within the original calculated attribute definition.
" + "smithy.api#documentation": "Overrides the condition block within the original calculated attribute\n definition.
" } } }, @@ -1022,7 +1022,7 @@ "Errors": { "target": "com.amazonaws.customerprofiles#BatchGetProfileErrorList", "traits": { - "smithy.api#documentation": "For information about the errors that are common to all actions, see Common Errors.
" + "smithy.api#documentation": "For information about the errors that are common to all actions, see Common\n Errors.
" } }, "Profiles": { @@ -1120,7 +1120,7 @@ "IsDataPartial": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "Indicates whether the calculated attribute's value is based on partial data. If the data is partial, it is set to true.
" + "smithy.api#documentation": "Indicates whether the calculated attribute's value is based on partial data. If the data\n is partial, it is set to true.
" } }, "ProfileId": { @@ -1161,13 +1161,108 @@ "target": "com.amazonaws.customerprofiles#CalculatedAttributeDimension" } }, + "com.amazonaws.customerprofiles#ComparisonOperator": { + "type": "enum", + "members": { + "INCLUSIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCLUSIVE" + } + }, + "EXCLUSIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXCLUSIVE" + } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + }, + "BEGINS_WITH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEGINS_WITH" + } + }, + "ENDS_WITH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENDS_WITH" + } + }, + "GREATER_THAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER_THAN" + } + }, + "LESS_THAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LESS_THAN" + } + }, + "GREATER_THAN_OR_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER_THAN_OR_EQUAL" + } + }, + "LESS_THAN_OR_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LESS_THAN_OR_EQUAL" + } + }, + "EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQUAL" + } + }, + "BEFORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEFORE" + } + }, + "AFTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER" + } + }, + "ON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ON" + } + }, + "BETWEEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BETWEEN" + } + }, + "NOT_BETWEEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_BETWEEN" + } + } + } + }, "com.amazonaws.customerprofiles#ConditionOverrides": { "type": "structure", "members": { "Range": { "target": "com.amazonaws.customerprofiles#RangeOverride", "traits": { - "smithy.api#documentation": "The relative time period over which data is included in the aggregation for this override.
" + "smithy.api#documentation": "The relative time period over which data is included in the aggregation for this\n override.
" } } }, @@ -1385,7 +1480,7 @@ "Filter": { "target": "com.amazonaws.customerprofiles#Filter", "traits": { - "smithy.api#documentation": "Defines how to filter incoming objects to include part of the Calculated Attribute.
" + "smithy.api#documentation": "Defines how to filter incoming objects to include part of the Calculated\n Attribute.
" } }, "Statistic": { @@ -1719,6 +1814,164 @@ "smithy.api#output": {} } }, + "com.amazonaws.customerprofiles#CreateEventTrigger": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#CreateEventTriggerRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#CreateEventTriggerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "Creates an event trigger, which specifies the rules when to perform action based on\n customer's ingested data.
\nEach event stream can be associated with only one integration in the same region and AWS\n account as the event stream.
", + "smithy.api#http": { + "method": "POST", + "uri": "/domains/{DomainName}/event-triggers/{EventTriggerName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#CreateEventTriggerRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the domain.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the event trigger.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "The unique name of the object type.
", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "The description of the event trigger.
" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "A list of conditions that determine when an event should trigger the destination.
", + "smithy.api#required": {} + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The destination is triggered only for profiles that meet the criteria of a segment\n definition.
" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.
" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "An array of key-value pairs to apply to this resource.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#CreateEventTriggerResponse": { + "type": "structure", + "members": { + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the event trigger.
" + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "The unique name of the object type.
" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "The description of the event trigger.
" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "A list of conditions that determine when an event should trigger the destination.
" + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The destination is triggered only for profiles that meet the criteria of a segment\n definition.
" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the event trigger was created.
" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the event trigger was most recently updated.
" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "An array of key-value pairs to apply to this resource.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#CreateIntegrationWorkflow": { "type": "operation", "input": { @@ -2098,7 +2351,7 @@ "SegmentGroups": { "target": "com.amazonaws.customerprofiles#SegmentGroup", "traits": { - "smithy.api#documentation": "Specifies the base segments and dimensions for a segment definition along with their respective relationship.
", + "smithy.api#documentation": "Specifies the base segments and dimensions for a segment definition along with their\n respective relationship.
", "smithy.api#required": {} } }, @@ -2233,7 +2486,7 @@ "EstimateId": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "A unique identifier for the resource. The value can be passed to GetSegmentEstimate
to retrieve the result of segment estimate status.
A unique identifier for the resource. The value can be passed to\n GetSegmentEstimate
to retrieve the result of segment estimate\n status.
The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported segment.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported\n segment.
" } }, "RoleArn": { "target": "com.amazonaws.customerprofiles#RoleArn", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service principal to assume the role for conducting KMS and S3 operations.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service\n principal to assume the role for conducting KMS and S3 operations.
" } }, "DestinationUri": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "The destination to which the segment will be exported. This field must be provided if the request is not submitted from the Amazon Connect Admin Website.
" + "smithy.api#documentation": "The destination to which the segment will be exported. This field must be provided if\n the request is not submitted from the Amazon Connect Admin Website.
" } } }, @@ -2378,6 +2631,9 @@ { "target": "com.amazonaws.customerprofiles#CreateEventStream" }, + { + "target": "com.amazonaws.customerprofiles#CreateEventTrigger" + }, { "target": "com.amazonaws.customerprofiles#CreateIntegrationWorkflow" }, @@ -2402,6 +2658,9 @@ { "target": "com.amazonaws.customerprofiles#DeleteEventStream" }, + { + "target": "com.amazonaws.customerprofiles#DeleteEventTrigger" + }, { "target": "com.amazonaws.customerprofiles#DeleteIntegration" }, @@ -2441,6 +2700,9 @@ { "target": "com.amazonaws.customerprofiles#GetEventStream" }, + { + "target": "com.amazonaws.customerprofiles#GetEventTrigger" + }, { "target": "com.amazonaws.customerprofiles#GetIdentityResolutionJob" }, @@ -2492,6 +2754,9 @@ { "target": "com.amazonaws.customerprofiles#ListEventStreams" }, + { + "target": "com.amazonaws.customerprofiles#ListEventTriggers" + }, { "target": "com.amazonaws.customerprofiles#ListIdentityResolutionJobs" }, @@ -2552,6 +2817,9 @@ { "target": "com.amazonaws.customerprofiles#UpdateDomain" }, + { + "target": "com.amazonaws.customerprofiles#UpdateEventTrigger" + }, { "target": "com.amazonaws.customerprofiles#UpdateProfile" } @@ -3637,6 +3905,79 @@ "smithy.api#output": {} } }, + "com.amazonaws.customerprofiles#DeleteEventTrigger": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#DeleteEventTriggerRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#DeleteEventTriggerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "Disable and deletes the Event Trigger.
\nYou cannot delete an Event Trigger with an active Integration associated.
\nThe unique name of the domain.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the event trigger.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#DeleteEventTriggerResponse": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.customerprofiles#message", + "traits": { + "smithy.api#documentation": "A message that indicates the delete request is done.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#DeleteIntegration": { "type": "operation", "input": { @@ -4487,75 +4828,257 @@ "RUNNING": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "RUNNING" + "smithy.api#enumValue": "RUNNING" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + } + }, + "com.amazonaws.customerprofiles#EventStreamSummary": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the domain.
", + "smithy.api#required": {} + } + }, + "EventStreamName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The name of the event stream.
", + "smithy.api#required": {} + } + }, + "EventStreamArn": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "A unique identifier for the event stream.
", + "smithy.api#required": {} + } + }, + "State": { + "target": "com.amazonaws.customerprofiles#EventStreamState", + "traits": { + "smithy.api#documentation": "The operational state of destination stream for export.
", + "smithy.api#required": {} + } + }, + "StoppedSince": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "The timestamp when the State
changed to STOPPED
.
Summary information about the Kinesis data stream.
" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "The tags used to organize, track, or control access for this resource.
" + } + } + }, + "traits": { + "smithy.api#documentation": "An instance of EventStream in a list of EventStreams.
" + } + }, + "com.amazonaws.customerprofiles#EventStreamSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#EventStreamSummary" + } + }, + "com.amazonaws.customerprofiles#EventTriggerCondition": { + "type": "structure", + "members": { + "EventTriggerDimensions": { + "target": "com.amazonaws.customerprofiles#EventTriggerDimensions", + "traits": { + "smithy.api#documentation": "A list of dimensions to be evaluated for the event.
", + "smithy.api#required": {} + } + }, + "LogicalOperator": { + "target": "com.amazonaws.customerprofiles#EventTriggerLogicalOperator", + "traits": { + "smithy.api#documentation": "The operator used to combine multiple dimensions.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Specifies the circumstances under which the event should trigger the destination.
" + } + }, + "com.amazonaws.customerprofiles#EventTriggerConditions": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#EventTriggerCondition" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.customerprofiles#EventTriggerDimension": { + "type": "structure", + "members": { + "ObjectAttributes": { + "target": "com.amazonaws.customerprofiles#ObjectAttributes", + "traits": { + "smithy.api#documentation": "A list of object attributes to be evaluated.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "A specific event dimension to be assessed.
" + } + }, + "com.amazonaws.customerprofiles#EventTriggerDimensions": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#EventTriggerDimension" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.customerprofiles#EventTriggerLimits": { + "type": "structure", + "members": { + "EventExpiration": { + "target": "com.amazonaws.customerprofiles#optionalLong", + "traits": { + "smithy.api#documentation": "In milliseconds. Specifies that an event will only trigger the destination if it is processed within a certain latency period.
" + } + }, + "Periods": { + "target": "com.amazonaws.customerprofiles#Periods", + "traits": { + "smithy.api#documentation": "A list of time periods during which the limits apply.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
" + } + }, + "com.amazonaws.customerprofiles#EventTriggerLogicalOperator": { + "type": "enum", + "members": { + "ANY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ANY" + } + }, + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" } }, - "STOPPED": { + "NONE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "STOPPED" + "smithy.api#enumValue": "NONE" } } } }, - "com.amazonaws.customerprofiles#EventStreamSummary": { + "com.amazonaws.customerprofiles#EventTriggerNames": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#name" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.customerprofiles#EventTriggerSummaryItem": { "type": "structure", "members": { - "DomainName": { - "target": "com.amazonaws.customerprofiles#name", + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", "traits": { - "smithy.api#documentation": "The unique name of the domain.
", - "smithy.api#required": {} + "smithy.api#documentation": "The unique name of the object type.
" } }, - "EventStreamName": { + "EventTriggerName": { "target": "com.amazonaws.customerprofiles#name", "traits": { - "smithy.api#documentation": "The name of the event stream.
", - "smithy.api#required": {} - } - }, - "EventStreamArn": { - "target": "com.amazonaws.customerprofiles#string1To255", - "traits": { - "smithy.api#documentation": "A unique identifier for the event stream.
", - "smithy.api#required": {} + "smithy.api#documentation": "The unique name of the event trigger.
" } }, - "State": { - "target": "com.amazonaws.customerprofiles#EventStreamState", + "Description": { + "target": "com.amazonaws.customerprofiles#text", "traits": { - "smithy.api#documentation": "The operational state of destination stream for export.
", - "smithy.api#required": {} + "smithy.api#documentation": "The description of the event trigger.
" } }, - "StoppedSince": { + "CreatedAt": { "target": "com.amazonaws.customerprofiles#timestamp", "traits": { - "smithy.api#documentation": "The timestamp when the State
changed to STOPPED
.
The timestamp of when the event trigger was created.
" } }, - "DestinationSummary": { - "target": "com.amazonaws.customerprofiles#DestinationSummary", + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", "traits": { - "smithy.api#documentation": "Summary information about the Kinesis data stream.
" + "smithy.api#documentation": "The timestamp of when the event trigger was most recently updated.
" } }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { - "smithy.api#documentation": "The tags used to organize, track, or control access for this resource.
" + "smithy.api#documentation": "An array of key-value pairs to apply to this resource.
" } } }, "traits": { - "smithy.api#documentation": "An instance of EventStream in a list of EventStreams.
" + "smithy.api#documentation": "The summary of the event trigger.
" } }, - "com.amazonaws.customerprofiles#EventStreamSummaryList": { + "com.amazonaws.customerprofiles#EventTriggerSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.customerprofiles#EventStreamSummary" + "target": "com.amazonaws.customerprofiles#EventTriggerSummaryItem" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.customerprofiles#EventTriggerValues": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#string1To255" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } } }, "com.amazonaws.customerprofiles#ExportingConfig": { @@ -4607,7 +5130,7 @@ } }, "traits": { - "smithy.api#documentation": "Object that segments on various Customer profile's fields that are larger than normal.
" + "smithy.api#documentation": "Object that segments on various Customer profile's fields that are larger than\n normal.
" } }, "com.amazonaws.customerprofiles#ExtraLengthValues": { @@ -4821,7 +5344,7 @@ "Include": { "target": "com.amazonaws.customerprofiles#Include", "traits": { - "smithy.api#documentation": "Define whether to include or exclude objects for Calculated Attributed calculation that fit the filter groups criteria.
", + "smithy.api#documentation": "Define whether to include or exclude objects for Calculated Attributed calculation that\n fit the filter groups criteria.
", "smithy.api#required": {} } }, @@ -4856,7 +5379,7 @@ } }, "traits": { - "smithy.api#documentation": "Object that defines how to filter the incoming objects for the calculated attribute.
" + "smithy.api#documentation": "Object that defines how to filter the incoming objects for the calculated\n attribute.
" } }, "com.amazonaws.customerprofiles#FilterDimension": { @@ -5684,6 +6207,126 @@ "smithy.api#output": {} } }, + "com.amazonaws.customerprofiles#GetEventTrigger": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#GetEventTriggerRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#GetEventTriggerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "Get a specific Event Trigger from the domain.
", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/event-triggers/{EventTriggerName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#GetEventTriggerRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the domain.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the event trigger.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#GetEventTriggerResponse": { + "type": "structure", + "members": { + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the event trigger.
" + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "The unique name of the object type.
" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "The description of the event trigger.
" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "A list of conditions that determine when an event should trigger the destination.
" + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The destination is triggered only for profiles that meet the criteria of a segment\n definition.
" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the event trigger was created.
" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the event trigger was most recently updated.
" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "An array of key-value pairs to apply to this resource.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#GetIdentityResolutionJob": { "type": "operation", "input": { @@ -5939,6 +6582,12 @@ "traits": { "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make\n Customer Profiles requests on your behalf.
" } + }, + "EventTriggerNames": { + "target": "com.amazonaws.customerprofiles#EventTriggerNames", + "traits": { + "smithy.api#documentation": "A list of unique names for active event triggers associated with the integration. This\n list would be empty if no Event Trigger is associated with the integration.
" + } } }, "traits": { @@ -6481,7 +7130,7 @@ "EstimateId": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "The QueryId
which is the same as the value passed in QueryId
.
The QueryId
which is the same as the value passed in\n QueryId
.
An array of maps where each contains a response per profile failed for the request.
", + "smithy.api#documentation": "An array of maps where each contains a response per profile failed for the\n request.
", "smithy.api#jsonName": "Failures" } } @@ -6716,19 +7365,19 @@ "EncryptionKey": { "target": "com.amazonaws.customerprofiles#encryptionKey", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported segment.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported\n segment.
" } }, "RoleArn": { "target": "com.amazonaws.customerprofiles#RoleArn", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service principal to assume the role for conducting KMS and S3 operations.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service\n principal to assume the role for conducting KMS and S3 operations.
" } }, "DestinationUri": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "The destination to which the segment will be exported. This field must be provided if the request is not submitted from the Amazon Connect Admin Website.
" + "smithy.api#documentation": "The destination to which the segment will be exported. This field must be provided if\n the request is not submitted from the Amazon Connect Admin Website.
" } } }, @@ -7916,7 +8565,97 @@ "NextToken": { "target": "com.amazonaws.customerprofiles#token", "traits": { - "smithy.api#documentation": "The pagination token from the previous ListDomains API call.
" + "smithy.api#documentation": "The pagination token from the previous ListDomains API call.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.customerprofiles#ListEventStreams": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#ListEventStreamsRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#ListEventStreamsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "Returns a list of all the event streams in a specific domain.
", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/event-streams", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Items", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.customerprofiles#ListEventStreamsRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the domain.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "Identifies the next page of results to return.
", + "smithy.api#httpQuery": "next-token" + } + }, + "MaxResults": { + "target": "com.amazonaws.customerprofiles#maxSize100", + "traits": { + "smithy.api#documentation": "The maximum number of objects returned per page.
", + "smithy.api#httpQuery": "max-results" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#ListEventStreamsResponse": { + "type": "structure", + "members": { + "Items": { + "target": "com.amazonaws.customerprofiles#EventStreamSummaryList", + "traits": { + "smithy.api#documentation": "Contains summary information about an EventStream.
" + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "Identifies the next page of results to return.
" } } }, @@ -7924,13 +8663,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.customerprofiles#ListEventStreams": { + "com.amazonaws.customerprofiles#ListEventTriggers": { "type": "operation", "input": { - "target": "com.amazonaws.customerprofiles#ListEventStreamsRequest" + "target": "com.amazonaws.customerprofiles#ListEventTriggersRequest" }, "output": { - "target": "com.amazonaws.customerprofiles#ListEventStreamsResponse" + "target": "com.amazonaws.customerprofiles#ListEventTriggersResponse" }, "errors": [ { @@ -7950,10 +8689,10 @@ } ], "traits": { - "smithy.api#documentation": "Returns a list of all the event streams in a specific domain.
", + "smithy.api#documentation": "List all Event Triggers under a domain.
", "smithy.api#http": { "method": "GET", - "uri": "/domains/{DomainName}/event-streams", + "uri": "/domains/{DomainName}/event-triggers", "code": 200 }, "smithy.api#paginated": { @@ -7964,7 +8703,7 @@ } } }, - "com.amazonaws.customerprofiles#ListEventStreamsRequest": { + "com.amazonaws.customerprofiles#ListEventTriggersRequest": { "type": "structure", "members": { "DomainName": { @@ -7978,14 +8717,14 @@ "NextToken": { "target": "com.amazonaws.customerprofiles#token", "traits": { - "smithy.api#documentation": "Identifies the next page of results to return.
", + "smithy.api#documentation": "The pagination token to use with ListEventTriggers.
", "smithy.api#httpQuery": "next-token" } }, "MaxResults": { "target": "com.amazonaws.customerprofiles#maxSize100", "traits": { - "smithy.api#documentation": "The maximum number of objects returned per page.
", + "smithy.api#documentation": "The maximum number of results to return per page.
", "smithy.api#httpQuery": "max-results" } } @@ -7994,19 +8733,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.customerprofiles#ListEventStreamsResponse": { + "com.amazonaws.customerprofiles#ListEventTriggersResponse": { "type": "structure", "members": { "Items": { - "target": "com.amazonaws.customerprofiles#EventStreamSummaryList", + "target": "com.amazonaws.customerprofiles#EventTriggerSummaryList", "traits": { - "smithy.api#documentation": "Contains summary information about an EventStream.
" + "smithy.api#documentation": "The list of Event Triggers.
" } }, "NextToken": { "target": "com.amazonaws.customerprofiles#token", "traits": { - "smithy.api#documentation": "Identifies the next page of results to return.
" + "smithy.api#documentation": "The pagination token from the previous call to ListEventTriggers.
" } } }, @@ -8164,6 +8903,12 @@ "traits": { "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make\n Customer Profiles requests on your behalf.
" } + }, + "EventTriggerNames": { + "target": "com.amazonaws.customerprofiles#EventTriggerNames", + "traits": { + "smithy.api#documentation": "A list of unique names for active event triggers associated with the integration.
" + } } }, "traits": { @@ -9604,6 +10349,52 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.customerprofiles#ObjectAttribute": { + "type": "structure", + "members": { + "Source": { + "target": "com.amazonaws.customerprofiles#text", + "traits": { + "smithy.api#documentation": "An attribute contained within a source object.
" + } + }, + "FieldName": { + "target": "com.amazonaws.customerprofiles#fieldName", + "traits": { + "smithy.api#documentation": "A field defined within an object type.
" + } + }, + "ComparisonOperator": { + "target": "com.amazonaws.customerprofiles#ComparisonOperator", + "traits": { + "smithy.api#documentation": "The operator used to compare an attribute against a list of values.
", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.customerprofiles#EventTriggerValues", + "traits": { + "smithy.api#documentation": "A list of attribute values used for comparison.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The criteria that a specific object attribute must meet to trigger the destination.
" + } + }, + "com.amazonaws.customerprofiles#ObjectAttributes": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#ObjectAttribute" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.customerprofiles#ObjectCount": { "type": "integer", "traits": { @@ -9854,6 +10645,82 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.customerprofiles#Period": { + "type": "structure", + "members": { + "Unit": { + "target": "com.amazonaws.customerprofiles#PeriodUnit", + "traits": { + "smithy.api#documentation": "The unit of time.
", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.customerprofiles#maxSize24", + "traits": { + "smithy.api#documentation": "The amount of time of the specified unit.
", + "smithy.api#required": {} + } + }, + "MaxInvocationsPerProfile": { + "target": "com.amazonaws.customerprofiles#maxSize1000", + "traits": { + "smithy.api#documentation": "The maximum allowed number of destination invocations per profile.
" + } + }, + "Unlimited": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "If set to true, there is no limit on the number of destination invocations per profile. The default is false.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Defines a limit and the time period during which it is enforced.
" + } + }, + "com.amazonaws.customerprofiles#PeriodUnit": { + "type": "enum", + "members": { + "HOURS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOURS" + } + }, + "DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAYS" + } + }, + "WEEKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WEEKS" + } + }, + "MONTHS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MONTHS" + } + } + } + }, + "com.amazonaws.customerprofiles#Periods": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#Period" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4 + } + } + }, "com.amazonaws.customerprofiles#PhoneNumberList": { "type": "list", "member": { @@ -10479,6 +11346,12 @@ "traits": { "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make\n Customer Profiles requests on your behalf.
" } + }, + "EventTriggerNames": { + "target": "com.amazonaws.customerprofiles#EventTriggerNames", + "traits": { + "smithy.api#documentation": "A list of unique names for active event triggers associated with the integration.
" + } } }, "traits": { @@ -10551,6 +11424,12 @@ "traits": { "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make\n Customer Profiles requests on your behalf.
" } + }, + "EventTriggerNames": { + "target": "com.amazonaws.customerprofiles#EventTriggerNames", + "traits": { + "smithy.api#documentation": "A list of unique names for active event triggers associated with the integration. This\n list would be empty if no Event Trigger is associated with the integration.
" + } } }, "traits": { @@ -13027,6 +13906,156 @@ "smithy.api#output": {} } }, + "com.amazonaws.customerprofiles#UpdateEventTrigger": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#UpdateEventTriggerRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#UpdateEventTriggerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "Update the properties of an Event Trigger.
", + "smithy.api#http": { + "method": "PUT", + "uri": "/domains/{DomainName}/event-triggers/{EventTriggerName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#UpdateEventTriggerRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the domain.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the event trigger.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "The unique name of the object type.
" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "The description of the event trigger.
" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "A list of conditions that determine when an event should trigger the destination.
" + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The destination is triggered only for profiles that meet the criteria of a segment\n definition.
" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#UpdateEventTriggerResponse": { + "type": "structure", + "members": { + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The unique name of the event trigger.
" + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "The unique name of the object type.
" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "The description of the event trigger.
" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "A list of conditions that determine when an event should trigger the destination.
" + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "The destination is triggered only for profiles that meet the criteria of a segment\n definition.
" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the event trigger was created.
" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the event trigger was most recently updated.
" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "An array of key-value pairs to apply to this resource.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#UpdateProfile": { "type": "operation", "input": { @@ -13495,6 +14524,16 @@ } } }, + "com.amazonaws.customerprofiles#fieldName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" + } + }, "com.amazonaws.customerprofiles#foundByList": { "type": "list", "member": { @@ -13547,6 +14586,24 @@ } } }, + "com.amazonaws.customerprofiles#maxSize1000": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.customerprofiles#maxSize24": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 24 + } + } + }, "com.amazonaws.customerprofiles#message": { "type": "string" }, @@ -13579,6 +14636,9 @@ "com.amazonaws.customerprofiles#optionalBoolean": { "type": "boolean" }, + "com.amazonaws.customerprofiles#optionalLong": { + "type": "long" + }, "com.amazonaws.customerprofiles#requestValueList": { "type": "list", "member": {