use crate::types::{
AccelerateConfiguration, AccessControlPolicy, BucketCannedACL, BucketLifecycleConfiguration,
BucketLoggingStatus, CORSConfiguration, ChecksumAlgorithm, NotificationConfiguration,
ObjectAttributes, ObjectCannedACL, ObjectLockConfiguration, ObjectLockLegalHold,
ObjectLockRetention, OwnershipControls, PublicAccessBlockConfiguration, RequestPayer,
RequestPaymentConfiguration, ServerSideEncryptionConfiguration, Tagging,
TransitionDefaultMinimumObjectSize, VersioningConfiguration, WebsiteConfiguration,
};
#[derive(Debug, Clone, Default)]
pub struct DeleteBucketCorsInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct DeleteBucketEncryptionInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct DeleteBucketLifecycleInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct DeleteBucketOwnershipControlsInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct DeleteBucketPolicyInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct DeleteBucketTaggingInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct DeleteBucketWebsiteInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct DeleteObjectTaggingInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct DeletePublicAccessBlockInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketAccelerateConfigurationInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
pub request_payer: Option<RequestPayer>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketAclInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketCorsInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketEncryptionInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketLifecycleConfigurationInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketLoggingInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketNotificationConfigurationInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketOwnershipControlsInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketPolicyInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketPolicyStatusInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketRequestPaymentInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketTaggingInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketVersioningInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetBucketWebsiteInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetObjectAclInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub request_payer: Option<RequestPayer>,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetObjectAttributesInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub max_parts: Option<i32>,
pub object_attributes: Vec<ObjectAttributes>,
pub part_number_marker: Option<String>,
pub request_payer: Option<RequestPayer>,
pub sse_customer_algorithm: Option<String>,
pub sse_customer_key: Option<String>,
pub sse_customer_key_md5: Option<String>,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetObjectLegalHoldInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub request_payer: Option<RequestPayer>,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetObjectLockConfigurationInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetObjectRetentionInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub request_payer: Option<RequestPayer>,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetObjectTaggingInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub request_payer: Option<RequestPayer>,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct GetPublicAccessBlockInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketAccelerateConfigurationInput {
pub accelerate_configuration: AccelerateConfiguration,
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketAclInput {
pub acl: Option<BucketCannedACL>,
pub access_control_policy: Option<AccessControlPolicy>,
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub grant_full_control: Option<String>,
pub grant_read: Option<String>,
pub grant_read_acp: Option<String>,
pub grant_write: Option<String>,
pub grant_write_acp: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketCorsInput {
pub bucket: String,
pub cors_configuration: CORSConfiguration,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketEncryptionInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub server_side_encryption_configuration: ServerSideEncryptionConfiguration,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketLifecycleConfigurationInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub expected_bucket_owner: Option<String>,
pub lifecycle_configuration: Option<BucketLifecycleConfiguration>,
pub transition_default_minimum_object_size: Option<TransitionDefaultMinimumObjectSize>,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketLoggingInput {
pub bucket: String,
pub bucket_logging_status: BucketLoggingStatus,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketNotificationConfigurationInput {
pub bucket: String,
pub expected_bucket_owner: Option<String>,
pub notification_configuration: NotificationConfiguration,
pub skip_destination_validation: Option<bool>,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketOwnershipControlsInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub ownership_controls: OwnershipControls,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketPolicyInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub confirm_remove_self_bucket_access: Option<bool>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub policy: String,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketRequestPaymentInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub request_payment_configuration: RequestPaymentConfiguration,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketTaggingInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub tagging: Tagging,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketVersioningInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub mfa: Option<String>,
pub versioning_configuration: VersioningConfiguration,
}
#[derive(Debug, Clone, Default)]
pub struct PutBucketWebsiteInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub website_configuration: WebsiteConfiguration,
}
#[derive(Debug, Clone, Default)]
pub struct PutObjectAclInput {
pub acl: Option<ObjectCannedACL>,
pub access_control_policy: Option<AccessControlPolicy>,
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub grant_full_control: Option<String>,
pub grant_read: Option<String>,
pub grant_read_acp: Option<String>,
pub grant_write: Option<String>,
pub grant_write_acp: Option<String>,
pub key: String,
pub request_payer: Option<RequestPayer>,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutObjectLegalHoldInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub legal_hold: Option<ObjectLockLegalHold>,
pub request_payer: Option<RequestPayer>,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutObjectLockConfigurationInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub object_lock_configuration: Option<ObjectLockConfiguration>,
pub request_payer: Option<RequestPayer>,
pub token: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutObjectRetentionInput {
pub bucket: String,
pub bypass_governance_retention: Option<bool>,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub request_payer: Option<RequestPayer>,
pub retention: Option<ObjectLockRetention>,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutObjectTaggingInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub key: String,
pub request_payer: Option<RequestPayer>,
pub tagging: Tagging,
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default)]
pub struct PutPublicAccessBlockInput {
pub bucket: String,
pub checksum_algorithm: Option<ChecksumAlgorithm>,
pub content_md5: Option<String>,
pub expected_bucket_owner: Option<String>,
pub public_access_block_configuration: PublicAccessBlockConfiguration,
}