import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateDomainRequest, CreateDomainResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateDomainCommand}. */ export interface CreateDomainCommandInput extends CreateDomainRequest { } /** * @public * * The output of {@link CreateDomainCommand}. */ export interface CreateDomainCommandOutput extends CreateDomainResponse, __MetadataBearer { } declare const CreateDomainCommand_base: { new (input: CreateDomainCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateDomainCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates a domain, which is a container for all customer data, such as customer profile * attributes, object types, profile keys, and encryption keys. You can create multiple * domains, and each domain can have multiple third-party integrations.

*

Each Connect Customer instance can be associated with only one domain. Multiple * Connect Customer instances can be associated with one domain.

*

Use this API or UpdateDomain to * enable identity * resolution: set Matching to true.

*

To prevent cross-service impersonation when you call this API, see Cross-service confused deputy prevention for sample policies that you should * apply.

* *

It is not possible to associate a Customer Profiles domain with an Amazon Connect Instance directly from * the API. If you would like to create a domain and associate a Customer Profiles domain, use the Amazon Connect * admin website. For more information, see Enable Customer Profiles.

*

Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances * can be associated with one domain.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { CustomerProfilesClient, CreateDomainCommand } from "@aws-sdk/client-customer-profiles"; // ES Modules import * // const { CustomerProfilesClient, CreateDomainCommand } = require("@aws-sdk/client-customer-profiles"); // CommonJS import * // import type { CustomerProfilesClientConfig } from "@aws-sdk/client-customer-profiles"; * const config = {}; // type is CustomerProfilesClientConfig * const client = new CustomerProfilesClient(config); * const input = { // CreateDomainRequest * DomainName: "STRING_VALUE", // required * DefaultExpirationDays: Number("int"), // required * DefaultEncryptionKey: "STRING_VALUE", * DeadLetterQueueUrl: "STRING_VALUE", * Matching: { // MatchingRequest * Enabled: true || false, // required * JobSchedule: { // JobSchedule * DayOfTheWeek: "SUNDAY" || "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY", // required * Time: "STRING_VALUE", // required * }, * AutoMerging: { // AutoMerging * Enabled: true || false, // required * Consolidation: { // Consolidation * MatchingAttributesList: [ // MatchingAttributesList // required * [ // MatchingAttributes * "STRING_VALUE", * ], * ], * }, * ConflictResolution: { // ConflictResolution * ConflictResolvingModel: "RECENCY" || "SOURCE", // required * SourceName: "STRING_VALUE", * }, * MinAllowedConfidenceScoreForMerging: Number("double"), * }, * ExportingConfig: { // ExportingConfig * S3Exporting: { // S3ExportingConfig * S3BucketName: "STRING_VALUE", // required * S3KeyName: "STRING_VALUE", * }, * }, * }, * RuleBasedMatching: { // RuleBasedMatchingRequest * Enabled: true || false, // required * MatchingRules: [ // MatchingRules * { // MatchingRule * Rule: [ // MatchingRuleAttributeList // required * "STRING_VALUE", * ], * }, * ], * MaxAllowedRuleLevelForMerging: Number("int"), * MaxAllowedRuleLevelForMatching: Number("int"), * AttributeTypesSelector: { // AttributeTypesSelector * AttributeMatchingModel: "ONE_TO_ONE" || "MANY_TO_MANY", // required * Address: [ // AddressList * "STRING_VALUE", * ], * PhoneNumber: [ // PhoneNumberList * "STRING_VALUE", * ], * EmailAddress: [ // EmailList * "STRING_VALUE", * ], * }, * ConflictResolution: { * ConflictResolvingModel: "RECENCY" || "SOURCE", // required * SourceName: "STRING_VALUE", * }, * ExportingConfig: { * S3Exporting: { * S3BucketName: "STRING_VALUE", // required * S3KeyName: "STRING_VALUE", * }, * }, * }, * DataStore: { // DataStoreRequest * Enabled: true || false, * }, * Tags: { // TagMap * "": "STRING_VALUE", * }, * }; * const command = new CreateDomainCommand(input); * const response = await client.send(command); * // { // CreateDomainResponse * // DomainName: "STRING_VALUE", // required * // DefaultExpirationDays: Number("int"), // required * // DefaultEncryptionKey: "STRING_VALUE", * // DeadLetterQueueUrl: "STRING_VALUE", * // Matching: { // MatchingResponse * // Enabled: true || false, * // JobSchedule: { // JobSchedule * // DayOfTheWeek: "SUNDAY" || "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY", // required * // Time: "STRING_VALUE", // required * // }, * // AutoMerging: { // AutoMerging * // Enabled: true || false, // required * // Consolidation: { // Consolidation * // MatchingAttributesList: [ // MatchingAttributesList // required * // [ // MatchingAttributes * // "STRING_VALUE", * // ], * // ], * // }, * // ConflictResolution: { // ConflictResolution * // ConflictResolvingModel: "RECENCY" || "SOURCE", // required * // SourceName: "STRING_VALUE", * // }, * // MinAllowedConfidenceScoreForMerging: Number("double"), * // }, * // ExportingConfig: { // ExportingConfig * // S3Exporting: { // S3ExportingConfig * // S3BucketName: "STRING_VALUE", // required * // S3KeyName: "STRING_VALUE", * // }, * // }, * // }, * // RuleBasedMatching: { // RuleBasedMatchingResponse * // Enabled: true || false, * // MatchingRules: [ // MatchingRules * // { // MatchingRule * // Rule: [ // MatchingRuleAttributeList // required * // "STRING_VALUE", * // ], * // }, * // ], * // Status: "PENDING" || "IN_PROGRESS" || "ACTIVE", * // MaxAllowedRuleLevelForMerging: Number("int"), * // MaxAllowedRuleLevelForMatching: Number("int"), * // AttributeTypesSelector: { // AttributeTypesSelector * // AttributeMatchingModel: "ONE_TO_ONE" || "MANY_TO_MANY", // required * // Address: [ // AddressList * // "STRING_VALUE", * // ], * // PhoneNumber: [ // PhoneNumberList * // "STRING_VALUE", * // ], * // EmailAddress: [ // EmailList * // "STRING_VALUE", * // ], * // }, * // ConflictResolution: { * // ConflictResolvingModel: "RECENCY" || "SOURCE", // required * // SourceName: "STRING_VALUE", * // }, * // ExportingConfig: { * // S3Exporting: { * // S3BucketName: "STRING_VALUE", // required * // S3KeyName: "STRING_VALUE", * // }, * // }, * // }, * // DataStore: { // DataStoreResponse * // Enabled: true || false, * // Readiness: { // Readiness * // ProgressPercentage: Number("int"), * // Message: "STRING_VALUE", * // }, * // }, * // CreatedAt: new Date("TIMESTAMP"), // required * // LastUpdatedAt: new Date("TIMESTAMP"), // required * // Tags: { // TagMap * // "": "STRING_VALUE", * // }, * // }; * * ``` * * @param CreateDomainCommandInput - {@link CreateDomainCommandInput} * @returns {@link CreateDomainCommandOutput} * @see {@link CreateDomainCommandInput} for command's `input` shape. * @see {@link CreateDomainCommandOutput} for command's `response` shape. * @see {@link CustomerProfilesClientResolvedConfig | config} for CustomerProfilesClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

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 declare class CreateDomainCommand extends CreateDomainCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateDomainRequest; output: CreateDomainResponse; }; sdk: { input: CreateDomainCommandInput; output: CreateDomainCommandOutput; }; }; }