import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateCustomLogSourceRequest, CreateCustomLogSourceResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateCustomLogSourceCommand}. */ export interface CreateCustomLogSourceCommandInput extends CreateCustomLogSourceRequest { } /** * @public * * The output of {@link CreateCustomLogSourceCommand}. */ export interface CreateCustomLogSourceCommandOutput extends CreateCustomLogSourceResponse, __MetadataBearer { } declare const CreateCustomLogSourceCommand_base: { new (input: CreateCustomLogSourceCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateCustomLogSourceCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Adds a third-party custom source in Amazon Security Lake, from the Amazon Web Services Region * where you want to create a custom source. Security Lake can collect logs and events from * third-party custom sources. After creating the appropriate IAM role to * invoke Glue crawler, use this API to add a custom source name in Security Lake. This * operation creates a partition in the Amazon S3 bucket for Security Lake as the target * location for log files from the custom source. In addition, this operation also creates an * associated Glue table and an Glue crawler.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { SecurityLakeClient, CreateCustomLogSourceCommand } from "@aws-sdk/client-securitylake"; // ES Modules import * // const { SecurityLakeClient, CreateCustomLogSourceCommand } = require("@aws-sdk/client-securitylake"); // CommonJS import * // import type { SecurityLakeClientConfig } from "@aws-sdk/client-securitylake"; * const config = {}; // type is SecurityLakeClientConfig * const client = new SecurityLakeClient(config); * const input = { // CreateCustomLogSourceRequest * sourceName: "STRING_VALUE", // required * sourceVersion: "STRING_VALUE", * eventClasses: [ // OcsfEventClassList * "STRING_VALUE", * ], * configuration: { // CustomLogSourceConfiguration * crawlerConfiguration: { // CustomLogSourceCrawlerConfiguration * roleArn: "STRING_VALUE", // required * }, * providerIdentity: { // AwsIdentity * principal: "STRING_VALUE", // required * externalId: "STRING_VALUE", // required * }, * }, * }; * const command = new CreateCustomLogSourceCommand(input); * const response = await client.send(command); * // { // CreateCustomLogSourceResponse * // source: { // CustomLogSourceResource * // sourceName: "STRING_VALUE", * // sourceVersion: "STRING_VALUE", * // provider: { // CustomLogSourceProvider * // roleArn: "STRING_VALUE", * // location: "STRING_VALUE", * // }, * // attributes: { // CustomLogSourceAttributes * // crawlerArn: "STRING_VALUE", * // databaseArn: "STRING_VALUE", * // tableArn: "STRING_VALUE", * // }, * // }, * // }; * * ``` * * @param CreateCustomLogSourceCommandInput - {@link CreateCustomLogSourceCommandInput} * @returns {@link CreateCustomLogSourceCommandOutput} * @see {@link CreateCustomLogSourceCommandInput} for command's `input` shape. * @see {@link CreateCustomLogSourceCommandOutput} for command's `response` shape. * @see {@link SecurityLakeClientResolvedConfig | config} for SecurityLakeClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization * request. An explicit denial occurs when a policy contains a Deny statement for the specific * Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also * no applicable Allow statement.

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

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

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

Occurs when a conflict with a previous successful write is detected. This generally * occurs when the previous write did not have time to propagate to the host serving the * current request. A retry (with appropriate backoff logic) is the recommended response to * this exception.

* * @throws {@link InternalServerException} (server fault) *

Internal service exceptions are sometimes caused by transient issues. Before you start * troubleshooting, perform the operation again.

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

The resource could not be found.

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

The limit on the number of requests per second was exceeded.

* * @throws {@link SecurityLakeServiceException} *

Base exception class for all service exceptions from SecurityLake service.

* * * @public */ export declare class CreateCustomLogSourceCommand extends CreateCustomLogSourceCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateCustomLogSourceRequest; output: CreateCustomLogSourceResponse; }; sdk: { input: CreateCustomLogSourceCommandInput; output: CreateCustomLogSourceCommandOutput; }; }; }