import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { EnableLoggingMessage, LoggingStatus } from "../models/models_0"; import type { RedshiftClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link EnableLoggingCommand}. */ export interface EnableLoggingCommandInput extends EnableLoggingMessage { } /** * @public * * The output of {@link EnableLoggingCommand}. */ export interface EnableLoggingCommandOutput extends LoggingStatus, __MetadataBearer { } declare const EnableLoggingCommand_base: { new (input: EnableLoggingCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: EnableLoggingCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Starts logging information, such as queries and connection attempts, for the * specified Amazon Redshift cluster.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RedshiftClient, EnableLoggingCommand } from "@aws-sdk/client-redshift"; // ES Modules import * // const { RedshiftClient, EnableLoggingCommand } = require("@aws-sdk/client-redshift"); // CommonJS import * // import type { RedshiftClientConfig } from "@aws-sdk/client-redshift"; * const config = {}; // type is RedshiftClientConfig * const client = new RedshiftClient(config); * const input = { // EnableLoggingMessage * ClusterIdentifier: "STRING_VALUE", // required * BucketName: "STRING_VALUE", * S3KeyPrefix: "STRING_VALUE", * LogDestinationType: "s3" || "cloudwatch", * LogExports: [ // LogTypeList * "STRING_VALUE", * ], * }; * const command = new EnableLoggingCommand(input); * const response = await client.send(command); * // { // LoggingStatus * // LoggingEnabled: true || false, * // BucketName: "STRING_VALUE", * // S3KeyPrefix: "STRING_VALUE", * // LastSuccessfulDeliveryTime: new Date("TIMESTAMP"), * // LastFailureTime: new Date("TIMESTAMP"), * // LastFailureMessage: "STRING_VALUE", * // LogDestinationType: "s3" || "cloudwatch", * // LogExports: [ // LogTypeList * // "STRING_VALUE", * // ], * // }; * * ``` * * @param EnableLoggingCommandInput - {@link EnableLoggingCommandInput} * @returns {@link EnableLoggingCommandOutput} * @see {@link EnableLoggingCommandInput} for command's `input` shape. * @see {@link EnableLoggingCommandOutput} for command's `response` shape. * @see {@link RedshiftClientResolvedConfig | config} for RedshiftClient's `config` shape. * * @throws {@link BucketNotFoundFault} (client fault) *

Could not find the specified S3 bucket.

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

The ClusterIdentifier parameter does not refer to an existing cluster. *

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

The cluster does not have read bucket or put object permissions on the S3 bucket * specified when enabling logging.

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

The specified cluster is not in the available state.

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

The S3 bucket name is invalid. For more information about naming rules, go to * Bucket * Restrictions and Limitations in the Amazon Simple Storage Service (S3) * Developer Guide.

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

The string specified for the logging S3 key prefix does not comply with the * documented constraints.

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

The requested operation isn't supported.

* * @throws {@link RedshiftServiceException} *

Base exception class for all service exceptions from Redshift service.

* * * @public */ export declare class EnableLoggingCommand extends EnableLoggingCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: EnableLoggingMessage; output: LoggingStatus; }; sdk: { input: EnableLoggingCommandInput; output: EnableLoggingCommandOutput; }; }; }