import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CloudTrailClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudTrailClient"; import type { CreateEventDataStoreRequest, CreateEventDataStoreResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateEventDataStoreCommand}. */ export interface CreateEventDataStoreCommandInput extends CreateEventDataStoreRequest { } /** * @public * * The output of {@link CreateEventDataStoreCommand}. */ export interface CreateEventDataStoreCommandOutput extends CreateEventDataStoreResponse, __MetadataBearer { } declare const CreateEventDataStoreCommand_base: { new (input: CreateEventDataStoreCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateEventDataStoreCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Creates a new event data store.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { CloudTrailClient, CreateEventDataStoreCommand } from "@aws-sdk/client-cloudtrail"; // ES Modules import * // const { CloudTrailClient, CreateEventDataStoreCommand } = require("@aws-sdk/client-cloudtrail"); // CommonJS import * // import type { CloudTrailClientConfig } from "@aws-sdk/client-cloudtrail"; * const config = {}; // type is CloudTrailClientConfig * const client = new CloudTrailClient(config); * const input = { // CreateEventDataStoreRequest * Name: "STRING_VALUE", // required * AdvancedEventSelectors: [ // AdvancedEventSelectors * { // AdvancedEventSelector * Name: "STRING_VALUE", * FieldSelectors: [ // AdvancedFieldSelectors // required * { // AdvancedFieldSelector * Field: "STRING_VALUE", // required * Equals: [ // Operator * "STRING_VALUE", * ], * StartsWith: [ * "STRING_VALUE", * ], * EndsWith: [ * "STRING_VALUE", * ], * NotEquals: [ * "STRING_VALUE", * ], * NotStartsWith: [ * "STRING_VALUE", * ], * NotEndsWith: "", * }, * ], * }, * ], * MultiRegionEnabled: true || false, * OrganizationEnabled: true || false, * RetentionPeriod: Number("int"), * TerminationProtectionEnabled: true || false, * TagsList: [ // TagsList * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", * }, * ], * KmsKeyId: "STRING_VALUE", * StartIngestion: true || false, * BillingMode: "EXTENDABLE_RETENTION_PRICING" || "FIXED_RETENTION_PRICING", * }; * const command = new CreateEventDataStoreCommand(input); * const response = await client.send(command); * // { // CreateEventDataStoreResponse * // EventDataStoreArn: "STRING_VALUE", * // Name: "STRING_VALUE", * // Status: "CREATED" || "ENABLED" || "PENDING_DELETION" || "STARTING_INGESTION" || "STOPPING_INGESTION" || "STOPPED_INGESTION", * // AdvancedEventSelectors: [ // AdvancedEventSelectors * // { // AdvancedEventSelector * // Name: "STRING_VALUE", * // FieldSelectors: [ // AdvancedFieldSelectors // required * // { // AdvancedFieldSelector * // Field: "STRING_VALUE", // required * // Equals: [ // Operator * // "STRING_VALUE", * // ], * // StartsWith: [ * // "STRING_VALUE", * // ], * // EndsWith: [ * // "STRING_VALUE", * // ], * // NotEquals: [ * // "STRING_VALUE", * // ], * // NotStartsWith: [ * // "STRING_VALUE", * // ], * // NotEndsWith: "", * // }, * // ], * // }, * // ], * // MultiRegionEnabled: true || false, * // OrganizationEnabled: true || false, * // RetentionPeriod: Number("int"), * // TerminationProtectionEnabled: true || false, * // TagsList: [ // TagsList * // { // Tag * // Key: "STRING_VALUE", // required * // Value: "STRING_VALUE", * // }, * // ], * // CreatedTimestamp: new Date("TIMESTAMP"), * // UpdatedTimestamp: new Date("TIMESTAMP"), * // KmsKeyId: "STRING_VALUE", * // BillingMode: "EXTENDABLE_RETENTION_PRICING" || "FIXED_RETENTION_PRICING", * // }; * * ``` * * @param CreateEventDataStoreCommandInput - {@link CreateEventDataStoreCommandInput} * @returns {@link CreateEventDataStoreCommandOutput} * @see {@link CreateEventDataStoreCommandInput} for command's `input` shape. * @see {@link CreateEventDataStoreCommandOutput} for command's `response` shape. * @see {@link CloudTrailClientResolvedConfig | config} for CloudTrailClient's `config` shape. * * @throws {@link CloudTrailAccessNotEnabledException} (client fault) *

This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide.

* * @throws {@link ConflictException} (client fault) *

This exception is thrown when the specified resource is not ready for an operation. This * can occur when you try to run an operation on a resource before CloudTrail has time * to fully load the resource, or because another operation is modifying the resource. If this exception occurs, wait a few minutes, and then try the * operation again.

* * @throws {@link EventDataStoreAlreadyExistsException} (client fault) *

An event data store with that name already exists.

* * @throws {@link EventDataStoreMaxLimitExceededException} (client fault) *

Your account has used the maximum number of event data stores.

* * @throws {@link InsufficientDependencyServiceAccessPermissionException} (client fault) *

This exception is thrown when the IAM identity that is used to create * the organization resource lacks one or more required permissions for creating an * organization resource in a required service.

* * @throws {@link InsufficientEncryptionPolicyException} (client fault) *

For the CreateTrail * PutInsightSelectors, UpdateTrail, StartQuery, and StartImport operations, this exception is thrown * when the policy on the S3 bucket or KMS key does * not have sufficient permissions for the operation.

*

For all other operations, this exception is thrown when the policy for the KMS key does * not have sufficient permissions for the operation.

* * @throws {@link InvalidEventSelectorsException} (client fault) *

This exception is thrown when the PutEventSelectors operation is called * with a number of event selectors, advanced event selectors, or data resources that is not * valid. The combination of event selectors or advanced event selectors and data resources is * not valid. A trail can have up to 5 event selectors. If a trail uses advanced event * selectors, a maximum of 500 total values for all conditions in all advanced event selectors * is allowed. A trail is limited to 250 data resources. These data resources can be * distributed across event selectors, but the overall total cannot exceed 250.

*

You can:

*
    *
  • *

    Specify a valid number of event selectors (1 to 5) for a trail.

    *
  • *
  • *

    Specify a valid number of data resources (1 to 250) for an event selector. The * limit of number of resources on an individual event selector is configurable up to * 250. However, this upper limit is allowed only if the total number of data resources * does not exceed 250 across all event selectors for a trail.

    *
  • *
  • *

    Specify up to 500 values for all conditions in all advanced event selectors for a * trail.

    *
  • *
  • *

    Specify a valid value for a parameter. For example, specifying the * ReadWriteType parameter with a value of read-only is not * valid.

    *
  • *
* * @throws {@link InvalidKmsKeyIdException} (client fault) *

This exception is thrown when the KMS key ARN is not valid.

* * @throws {@link InvalidParameterException} (client fault) *

The request includes a parameter that is not valid.

* * @throws {@link InvalidTagParameterException} (client fault) *

This exception is thrown when the specified tag key or values are not valid. It can also * occur if there are duplicate tags or too many tags on the resource.

* * @throws {@link KmsException} (client fault) *

This exception is thrown when there is an issue with the specified KMS * key and the trail or event data store can't be updated.

* * @throws {@link KmsKeyNotFoundException} (client fault) *

This exception is thrown when the KMS key does not exist, when the S3 * bucket and the KMS key are not in the same Region, or when the KMS key associated with the Amazon SNS topic either does not exist or is * not in the same Region.

* * @throws {@link NoManagementAccountSLRExistsException} (client fault) *

This exception is thrown when the management account does not have a service-linked * role.

* * @throws {@link NotOrganizationMasterAccountException} (client fault) *

This exception is thrown when the Amazon Web Services account making the request to * create or update an organization trail or event data store is not the management account * for an organization in Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores.

* * @throws {@link OperationNotPermittedException} (client fault) *

This exception is thrown when the requested operation is not permitted.

* * @throws {@link OrganizationNotInAllFeaturesModeException} (client fault) *

This exception is thrown when Organizations is not configured to support all * features. All features must be enabled in Organizations to support creating an * organization trail or event data store.

* * @throws {@link OrganizationsNotInUseException} (client fault) *

This exception is thrown when the request is made from an Amazon Web Services account * that is not a member of an organization. To make this request, sign in using the * credentials of an account that belongs to an organization.

* * @throws {@link ThrottlingException} (client fault) *

* This exception is thrown when the request rate exceeds the limit. *

* * @throws {@link UnsupportedOperationException} (client fault) *

This exception is thrown when the requested operation is not supported.

* * @throws {@link CloudTrailServiceException} *

Base exception class for all service exceptions from CloudTrail service.

* * * @public */ export declare class CreateEventDataStoreCommand extends CreateEventDataStoreCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateEventDataStoreRequest; output: CreateEventDataStoreResponse; }; sdk: { input: CreateEventDataStoreCommandInput; output: CreateEventDataStoreCommandOutput; }; }; }