import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint"; import { Command as $Command } from "@aws-sdk/smithy-client"; import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types"; import { PutBucketLoggingRequest } from "../models/models_0"; import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; /** * @public * * The input for {@link PutBucketLoggingCommand}. */ export interface PutBucketLoggingCommandInput extends PutBucketLoggingRequest { } /** * @public * * The output of {@link PutBucketLoggingCommand}. */ export interface PutBucketLoggingCommandOutput extends __MetadataBearer { } /** * @public *
Set the logging parameters for a bucket and to specify permissions for who can view and * modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the * source bucket. To set the logging status of a bucket, you must be the bucket owner.
*The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The
* Permissions request element specifies the kind of access the grantee has to
* the logs.
If the target bucket for log delivery uses the bucket owner enforced
* setting for S3 Object Ownership, you can't use the Grantee request element
* to grant access to others. Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the
* Amazon S3 User Guide.
* Grantee Values *
*You can specify the person (grantee) to whom you're assigning access rights (using * request elements) in the following ways:
*By the person's ID:
*
*
*
DisplayName is optional and ignored in the request.
*By Email address:
*
*
*
The grantee is resolved to the CanonicalUser and, in a response to a GET Object * acl request, appears as the CanonicalUser.
*By URI:
*
*
*
To enable logging, you use LoggingEnabled and its children request elements. To disable * logging, you use an empty BucketLoggingStatus request element:
*
*
*
For more information about server access logging, see Server Access Logging in the Amazon S3 User Guide.
*For more information about creating a bucket, see CreateBucket. For more * information about returning the logging status of a bucket, see GetBucketLogging.
*The following operations are related to PutBucketLogging:
* PutObject *
** DeleteBucket *
** CreateBucket *
** GetBucketLogging *
*