#[allow(missing_docs)] #[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct CopyObjectOutput {
#[doc(hidden)]
pub copy_object_result: std::option::Option<crate::types::CopyObjectResult>,
#[doc(hidden)]
pub expiration: std::option::Option<std::string::String>,
#[doc(hidden)]
pub copy_source_version_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub version_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub server_side_encryption: std::option::Option<crate::types::ServerSideEncryption>,
#[doc(hidden)]
pub sse_customer_algorithm: std::option::Option<std::string::String>,
#[doc(hidden)]
pub sse_customer_key_md5: std::option::Option<std::string::String>,
#[doc(hidden)]
pub ssekms_key_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub ssekms_encryption_context: std::option::Option<std::string::String>,
#[doc(hidden)]
pub bucket_key_enabled: bool,
#[doc(hidden)]
pub request_charged: std::option::Option<crate::types::RequestCharged>,
_extended_request_id: Option<String>,
_request_id: Option<String>,
}
impl CopyObjectOutput {
pub fn copy_object_result(&self) -> std::option::Option<&crate::types::CopyObjectResult> {
self.copy_object_result.as_ref()
}
pub fn expiration(&self) -> std::option::Option<&str> {
self.expiration.as_deref()
}
pub fn copy_source_version_id(&self) -> std::option::Option<&str> {
self.copy_source_version_id.as_deref()
}
pub fn version_id(&self) -> std::option::Option<&str> {
self.version_id.as_deref()
}
pub fn server_side_encryption(
&self,
) -> std::option::Option<&crate::types::ServerSideEncryption> {
self.server_side_encryption.as_ref()
}
pub fn sse_customer_algorithm(&self) -> std::option::Option<&str> {
self.sse_customer_algorithm.as_deref()
}
pub fn sse_customer_key_md5(&self) -> std::option::Option<&str> {
self.sse_customer_key_md5.as_deref()
}
pub fn ssekms_key_id(&self) -> std::option::Option<&str> {
self.ssekms_key_id.as_deref()
}
pub fn ssekms_encryption_context(&self) -> std::option::Option<&str> {
self.ssekms_encryption_context.as_deref()
}
pub fn bucket_key_enabled(&self) -> bool {
self.bucket_key_enabled
}
pub fn request_charged(&self) -> std::option::Option<&crate::types::RequestCharged> {
self.request_charged.as_ref()
}
}
impl std::fmt::Debug for CopyObjectOutput {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("CopyObjectOutput");
formatter.field("copy_object_result", &self.copy_object_result);
formatter.field("expiration", &self.expiration);
formatter.field("copy_source_version_id", &self.copy_source_version_id);
formatter.field("version_id", &self.version_id);
formatter.field("server_side_encryption", &self.server_side_encryption);
formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
formatter.field(
"ssekms_encryption_context",
&"*** Sensitive Data Redacted ***",
);
formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
formatter.field("request_charged", &self.request_charged);
formatter.field("_extended_request_id", &self._extended_request_id);
formatter.field("_request_id", &self._request_id);
formatter.finish()
}
}
impl crate::s3_request_id::RequestIdExt for CopyObjectOutput {
fn extended_request_id(&self) -> Option<&str> {
self._extended_request_id.as_deref()
}
}
impl aws_http::request_id::RequestId for CopyObjectOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl CopyObjectOutput {
pub fn builder() -> crate::operation::copy_object::builders::CopyObjectOutputBuilder {
crate::operation::copy_object::builders::CopyObjectOutputBuilder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
pub struct CopyObjectOutputBuilder {
pub(crate) copy_object_result: std::option::Option<crate::types::CopyObjectResult>,
pub(crate) expiration: std::option::Option<std::string::String>,
pub(crate) copy_source_version_id: std::option::Option<std::string::String>,
pub(crate) version_id: std::option::Option<std::string::String>,
pub(crate) server_side_encryption: std::option::Option<crate::types::ServerSideEncryption>,
pub(crate) sse_customer_algorithm: std::option::Option<std::string::String>,
pub(crate) sse_customer_key_md5: std::option::Option<std::string::String>,
pub(crate) ssekms_key_id: std::option::Option<std::string::String>,
pub(crate) ssekms_encryption_context: std::option::Option<std::string::String>,
pub(crate) bucket_key_enabled: std::option::Option<bool>,
pub(crate) request_charged: std::option::Option<crate::types::RequestCharged>,
_extended_request_id: Option<String>,
_request_id: Option<String>,
}
impl CopyObjectOutputBuilder {
pub fn copy_object_result(mut self, input: crate::types::CopyObjectResult) -> Self {
self.copy_object_result = Some(input);
self
}
pub fn set_copy_object_result(
mut self,
input: std::option::Option<crate::types::CopyObjectResult>,
) -> Self {
self.copy_object_result = input;
self
}
pub fn expiration(mut self, input: impl Into<std::string::String>) -> Self {
self.expiration = Some(input.into());
self
}
pub fn set_expiration(mut self, input: std::option::Option<std::string::String>) -> Self {
self.expiration = input;
self
}
pub fn copy_source_version_id(mut self, input: impl Into<std::string::String>) -> Self {
self.copy_source_version_id = Some(input.into());
self
}
pub fn set_copy_source_version_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.copy_source_version_id = input;
self
}
pub fn version_id(mut self, input: impl Into<std::string::String>) -> Self {
self.version_id = Some(input.into());
self
}
pub fn set_version_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.version_id = input;
self
}
pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
self.server_side_encryption = Some(input);
self
}
pub fn set_server_side_encryption(
mut self,
input: std::option::Option<crate::types::ServerSideEncryption>,
) -> Self {
self.server_side_encryption = input;
self
}
pub fn sse_customer_algorithm(mut self, input: impl Into<std::string::String>) -> Self {
self.sse_customer_algorithm = Some(input.into());
self
}
pub fn set_sse_customer_algorithm(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.sse_customer_algorithm = input;
self
}
pub fn sse_customer_key_md5(mut self, input: impl Into<std::string::String>) -> Self {
self.sse_customer_key_md5 = Some(input.into());
self
}
pub fn set_sse_customer_key_md5(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.sse_customer_key_md5 = input;
self
}
pub fn ssekms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
self.ssekms_key_id = Some(input.into());
self
}
pub fn set_ssekms_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.ssekms_key_id = input;
self
}
pub fn ssekms_encryption_context(mut self, input: impl Into<std::string::String>) -> Self {
self.ssekms_encryption_context = Some(input.into());
self
}
pub fn set_ssekms_encryption_context(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.ssekms_encryption_context = input;
self
}
pub fn bucket_key_enabled(mut self, input: bool) -> Self {
self.bucket_key_enabled = Some(input);
self
}
pub fn set_bucket_key_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.bucket_key_enabled = input;
self
}
pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
self.request_charged = Some(input);
self
}
pub fn set_request_charged(
mut self,
input: std::option::Option<crate::types::RequestCharged>,
) -> Self {
self.request_charged = input;
self
}
pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
self._extended_request_id = Some(extended_request_id.into());
self
}
pub(crate) fn _set_extended_request_id(
&mut self,
extended_request_id: Option<String>,
) -> &mut Self {
self._extended_request_id = extended_request_id;
self
}
pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
self._request_id = Some(request_id.into());
self
}
pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
self._request_id = request_id;
self
}
pub fn build(self) -> crate::operation::copy_object::CopyObjectOutput {
crate::operation::copy_object::CopyObjectOutput {
copy_object_result: self.copy_object_result,
expiration: self.expiration,
copy_source_version_id: self.copy_source_version_id,
version_id: self.version_id,
server_side_encryption: self.server_side_encryption,
sse_customer_algorithm: self.sse_customer_algorithm,
sse_customer_key_md5: self.sse_customer_key_md5,
ssekms_key_id: self.ssekms_key_id,
ssekms_encryption_context: self.ssekms_encryption_context,
bucket_key_enabled: self.bucket_key_enabled.unwrap_or_default(),
request_charged: self.request_charged,
_extended_request_id: self._extended_request_id,
_request_id: self._request_id,
}
}
}
impl std::fmt::Debug for CopyObjectOutputBuilder {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("CopyObjectOutputBuilder");
formatter.field("copy_object_result", &self.copy_object_result);
formatter.field("expiration", &self.expiration);
formatter.field("copy_source_version_id", &self.copy_source_version_id);
formatter.field("version_id", &self.version_id);
formatter.field("server_side_encryption", &self.server_side_encryption);
formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
formatter.field(
"ssekms_encryption_context",
&"*** Sensitive Data Redacted ***",
);
formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
formatter.field("request_charged", &self.request_charged);
formatter.field("_extended_request_id", &self._extended_request_id);
formatter.field("_request_id", &self._request_id);
formatter.finish()
}
}