#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum JobStatus {
#[allow(missing_docs)] Active,
#[allow(missing_docs)] Cancelled,
#[allow(missing_docs)] Cancelling,
#[allow(missing_docs)] Complete,
#[allow(missing_docs)] Completing,
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] Failing,
#[allow(missing_docs)] New,
#[allow(missing_docs)] Paused,
#[allow(missing_docs)] Pausing,
#[allow(missing_docs)] Preparing,
#[allow(missing_docs)] Ready,
#[allow(missing_docs)] Suspended,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for JobStatus {
fn from(s: &str) -> Self {
match s {
"Active" => JobStatus::Active,
"Cancelled" => JobStatus::Cancelled,
"Cancelling" => JobStatus::Cancelling,
"Complete" => JobStatus::Complete,
"Completing" => JobStatus::Completing,
"Failed" => JobStatus::Failed,
"Failing" => JobStatus::Failing,
"New" => JobStatus::New,
"Paused" => JobStatus::Paused,
"Pausing" => JobStatus::Pausing,
"Preparing" => JobStatus::Preparing,
"Ready" => JobStatus::Ready,
"Suspended" => JobStatus::Suspended,
other => JobStatus::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for JobStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(JobStatus::from(s))
}
}
impl JobStatus {
pub fn as_str(&self) -> &str {
match self {
JobStatus::Active => "Active",
JobStatus::Cancelled => "Cancelled",
JobStatus::Cancelling => "Cancelling",
JobStatus::Complete => "Complete",
JobStatus::Completing => "Completing",
JobStatus::Failed => "Failed",
JobStatus::Failing => "Failing",
JobStatus::New => "New",
JobStatus::Paused => "Paused",
JobStatus::Pausing => "Pausing",
JobStatus::Preparing => "Preparing",
JobStatus::Ready => "Ready",
JobStatus::Suspended => "Suspended",
JobStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"Active",
"Cancelled",
"Cancelling",
"Complete",
"Completing",
"Failed",
"Failing",
"New",
"Paused",
"Pausing",
"Preparing",
"Ready",
"Suspended",
]
}
}
impl AsRef<str> for JobStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum RequestedJobStatus {
#[allow(missing_docs)] Cancelled,
#[allow(missing_docs)] Ready,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for RequestedJobStatus {
fn from(s: &str) -> Self {
match s {
"Cancelled" => RequestedJobStatus::Cancelled,
"Ready" => RequestedJobStatus::Ready,
other => {
RequestedJobStatus::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for RequestedJobStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(RequestedJobStatus::from(s))
}
}
impl RequestedJobStatus {
pub fn as_str(&self) -> &str {
match self {
RequestedJobStatus::Cancelled => "Cancelled",
RequestedJobStatus::Ready => "Ready",
RequestedJobStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["Cancelled", "Ready"]
}
}
impl AsRef<str> for RequestedJobStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct MultiRegionAccessPointRoute {
#[doc(hidden)]
pub bucket: std::option::Option<std::string::String>,
#[doc(hidden)]
pub region: std::option::Option<std::string::String>,
#[doc(hidden)]
pub traffic_dial_percentage: std::option::Option<i32>,
}
impl MultiRegionAccessPointRoute {
pub fn bucket(&self) -> std::option::Option<&str> {
self.bucket.as_deref()
}
pub fn region(&self) -> std::option::Option<&str> {
self.region.as_deref()
}
pub fn traffic_dial_percentage(&self) -> std::option::Option<i32> {
self.traffic_dial_percentage
}
}
pub mod multi_region_access_point_route {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket: std::option::Option<std::string::String>,
pub(crate) region: std::option::Option<std::string::String>,
pub(crate) traffic_dial_percentage: std::option::Option<i32>,
}
impl Builder {
pub fn bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket = Some(input.into());
self
}
pub fn set_bucket(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket = input;
self
}
pub fn region(mut self, input: impl Into<std::string::String>) -> Self {
self.region = Some(input.into());
self
}
pub fn set_region(mut self, input: std::option::Option<std::string::String>) -> Self {
self.region = input;
self
}
pub fn traffic_dial_percentage(mut self, input: i32) -> Self {
self.traffic_dial_percentage = Some(input);
self
}
pub fn set_traffic_dial_percentage(mut self, input: std::option::Option<i32>) -> Self {
self.traffic_dial_percentage = input;
self
}
pub fn build(self) -> crate::model::MultiRegionAccessPointRoute {
crate::model::MultiRegionAccessPointRoute {
bucket: self.bucket,
region: self.region,
traffic_dial_percentage: self.traffic_dial_percentage,
}
}
}
}
impl MultiRegionAccessPointRoute {
pub fn builder() -> crate::model::multi_region_access_point_route::Builder {
crate::model::multi_region_access_point_route::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StorageLensTag {
#[doc(hidden)]
pub key: std::option::Option<std::string::String>,
#[doc(hidden)]
pub value: std::option::Option<std::string::String>,
}
impl StorageLensTag {
pub fn key(&self) -> std::option::Option<&str> {
self.key.as_deref()
}
pub fn value(&self) -> std::option::Option<&str> {
self.value.as_deref()
}
}
pub mod storage_lens_tag {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) key: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<std::string::String>,
}
impl Builder {
pub fn key(mut self, input: impl Into<std::string::String>) -> Self {
self.key = Some(input.into());
self
}
pub fn set_key(mut self, input: std::option::Option<std::string::String>) -> Self {
self.key = input;
self
}
pub fn value(mut self, input: impl Into<std::string::String>) -> Self {
self.value = Some(input.into());
self
}
pub fn set_value(mut self, input: std::option::Option<std::string::String>) -> Self {
self.value = input;
self
}
pub fn build(self) -> crate::model::StorageLensTag {
crate::model::StorageLensTag {
key: self.key,
value: self.value,
}
}
}
}
impl StorageLensTag {
pub fn builder() -> crate::model::storage_lens_tag::Builder {
crate::model::storage_lens_tag::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StorageLensConfiguration {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub account_level: std::option::Option<crate::model::AccountLevel>,
#[doc(hidden)]
pub include: std::option::Option<crate::model::Include>,
#[doc(hidden)]
pub exclude: std::option::Option<crate::model::Exclude>,
#[doc(hidden)]
pub data_export: std::option::Option<crate::model::StorageLensDataExport>,
#[doc(hidden)]
pub is_enabled: bool,
#[doc(hidden)]
pub aws_org: std::option::Option<crate::model::StorageLensAwsOrg>,
#[doc(hidden)]
pub storage_lens_arn: std::option::Option<std::string::String>,
}
impl StorageLensConfiguration {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn account_level(&self) -> std::option::Option<&crate::model::AccountLevel> {
self.account_level.as_ref()
}
pub fn include(&self) -> std::option::Option<&crate::model::Include> {
self.include.as_ref()
}
pub fn exclude(&self) -> std::option::Option<&crate::model::Exclude> {
self.exclude.as_ref()
}
pub fn data_export(&self) -> std::option::Option<&crate::model::StorageLensDataExport> {
self.data_export.as_ref()
}
pub fn is_enabled(&self) -> bool {
self.is_enabled
}
pub fn aws_org(&self) -> std::option::Option<&crate::model::StorageLensAwsOrg> {
self.aws_org.as_ref()
}
pub fn storage_lens_arn(&self) -> std::option::Option<&str> {
self.storage_lens_arn.as_deref()
}
}
pub mod storage_lens_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) account_level: std::option::Option<crate::model::AccountLevel>,
pub(crate) include: std::option::Option<crate::model::Include>,
pub(crate) exclude: std::option::Option<crate::model::Exclude>,
pub(crate) data_export: std::option::Option<crate::model::StorageLensDataExport>,
pub(crate) is_enabled: std::option::Option<bool>,
pub(crate) aws_org: std::option::Option<crate::model::StorageLensAwsOrg>,
pub(crate) storage_lens_arn: std::option::Option<std::string::String>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn account_level(mut self, input: crate::model::AccountLevel) -> Self {
self.account_level = Some(input);
self
}
pub fn set_account_level(
mut self,
input: std::option::Option<crate::model::AccountLevel>,
) -> Self {
self.account_level = input;
self
}
pub fn include(mut self, input: crate::model::Include) -> Self {
self.include = Some(input);
self
}
pub fn set_include(mut self, input: std::option::Option<crate::model::Include>) -> Self {
self.include = input;
self
}
pub fn exclude(mut self, input: crate::model::Exclude) -> Self {
self.exclude = Some(input);
self
}
pub fn set_exclude(mut self, input: std::option::Option<crate::model::Exclude>) -> Self {
self.exclude = input;
self
}
pub fn data_export(mut self, input: crate::model::StorageLensDataExport) -> Self {
self.data_export = Some(input);
self
}
pub fn set_data_export(
mut self,
input: std::option::Option<crate::model::StorageLensDataExport>,
) -> Self {
self.data_export = input;
self
}
pub fn is_enabled(mut self, input: bool) -> Self {
self.is_enabled = Some(input);
self
}
pub fn set_is_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.is_enabled = input;
self
}
pub fn aws_org(mut self, input: crate::model::StorageLensAwsOrg) -> Self {
self.aws_org = Some(input);
self
}
pub fn set_aws_org(
mut self,
input: std::option::Option<crate::model::StorageLensAwsOrg>,
) -> Self {
self.aws_org = input;
self
}
pub fn storage_lens_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.storage_lens_arn = Some(input.into());
self
}
pub fn set_storage_lens_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.storage_lens_arn = input;
self
}
pub fn build(self) -> crate::model::StorageLensConfiguration {
crate::model::StorageLensConfiguration {
id: self.id,
account_level: self.account_level,
include: self.include,
exclude: self.exclude,
data_export: self.data_export,
is_enabled: self.is_enabled.unwrap_or_default(),
aws_org: self.aws_org,
storage_lens_arn: self.storage_lens_arn,
}
}
}
}
impl StorageLensConfiguration {
pub fn builder() -> crate::model::storage_lens_configuration::Builder {
crate::model::storage_lens_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StorageLensAwsOrg {
#[doc(hidden)]
pub arn: std::option::Option<std::string::String>,
}
impl StorageLensAwsOrg {
pub fn arn(&self) -> std::option::Option<&str> {
self.arn.as_deref()
}
}
pub mod storage_lens_aws_org {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) arn: std::option::Option<std::string::String>,
}
impl Builder {
pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
self.arn = Some(input.into());
self
}
pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.arn = input;
self
}
pub fn build(self) -> crate::model::StorageLensAwsOrg {
crate::model::StorageLensAwsOrg { arn: self.arn }
}
}
}
impl StorageLensAwsOrg {
pub fn builder() -> crate::model::storage_lens_aws_org::Builder {
crate::model::storage_lens_aws_org::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StorageLensDataExport {
#[doc(hidden)]
pub s3_bucket_destination: std::option::Option<crate::model::S3BucketDestination>,
#[doc(hidden)]
pub cloud_watch_metrics: std::option::Option<crate::model::CloudWatchMetrics>,
}
impl StorageLensDataExport {
pub fn s3_bucket_destination(&self) -> std::option::Option<&crate::model::S3BucketDestination> {
self.s3_bucket_destination.as_ref()
}
pub fn cloud_watch_metrics(&self) -> std::option::Option<&crate::model::CloudWatchMetrics> {
self.cloud_watch_metrics.as_ref()
}
}
pub mod storage_lens_data_export {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) s3_bucket_destination: std::option::Option<crate::model::S3BucketDestination>,
pub(crate) cloud_watch_metrics: std::option::Option<crate::model::CloudWatchMetrics>,
}
impl Builder {
pub fn s3_bucket_destination(mut self, input: crate::model::S3BucketDestination) -> Self {
self.s3_bucket_destination = Some(input);
self
}
pub fn set_s3_bucket_destination(
mut self,
input: std::option::Option<crate::model::S3BucketDestination>,
) -> Self {
self.s3_bucket_destination = input;
self
}
pub fn cloud_watch_metrics(mut self, input: crate::model::CloudWatchMetrics) -> Self {
self.cloud_watch_metrics = Some(input);
self
}
pub fn set_cloud_watch_metrics(
mut self,
input: std::option::Option<crate::model::CloudWatchMetrics>,
) -> Self {
self.cloud_watch_metrics = input;
self
}
pub fn build(self) -> crate::model::StorageLensDataExport {
crate::model::StorageLensDataExport {
s3_bucket_destination: self.s3_bucket_destination,
cloud_watch_metrics: self.cloud_watch_metrics,
}
}
}
}
impl StorageLensDataExport {
pub fn builder() -> crate::model::storage_lens_data_export::Builder {
crate::model::storage_lens_data_export::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CloudWatchMetrics {
#[doc(hidden)]
pub is_enabled: bool,
}
impl CloudWatchMetrics {
pub fn is_enabled(&self) -> bool {
self.is_enabled
}
}
pub mod cloud_watch_metrics {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) is_enabled: std::option::Option<bool>,
}
impl Builder {
pub fn is_enabled(mut self, input: bool) -> Self {
self.is_enabled = Some(input);
self
}
pub fn set_is_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.is_enabled = input;
self
}
pub fn build(self) -> crate::model::CloudWatchMetrics {
crate::model::CloudWatchMetrics {
is_enabled: self.is_enabled.unwrap_or_default(),
}
}
}
}
impl CloudWatchMetrics {
pub fn builder() -> crate::model::cloud_watch_metrics::Builder {
crate::model::cloud_watch_metrics::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3BucketDestination {
#[doc(hidden)]
pub format: std::option::Option<crate::model::Format>,
#[doc(hidden)]
pub output_schema_version: std::option::Option<crate::model::OutputSchemaVersion>,
#[doc(hidden)]
pub account_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub prefix: std::option::Option<std::string::String>,
#[doc(hidden)]
pub encryption: std::option::Option<crate::model::StorageLensDataExportEncryption>,
}
impl S3BucketDestination {
pub fn format(&self) -> std::option::Option<&crate::model::Format> {
self.format.as_ref()
}
pub fn output_schema_version(&self) -> std::option::Option<&crate::model::OutputSchemaVersion> {
self.output_schema_version.as_ref()
}
pub fn account_id(&self) -> std::option::Option<&str> {
self.account_id.as_deref()
}
pub fn arn(&self) -> std::option::Option<&str> {
self.arn.as_deref()
}
pub fn prefix(&self) -> std::option::Option<&str> {
self.prefix.as_deref()
}
pub fn encryption(
&self,
) -> std::option::Option<&crate::model::StorageLensDataExportEncryption> {
self.encryption.as_ref()
}
}
pub mod s3_bucket_destination {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) format: std::option::Option<crate::model::Format>,
pub(crate) output_schema_version: std::option::Option<crate::model::OutputSchemaVersion>,
pub(crate) account_id: std::option::Option<std::string::String>,
pub(crate) arn: std::option::Option<std::string::String>,
pub(crate) prefix: std::option::Option<std::string::String>,
pub(crate) encryption: std::option::Option<crate::model::StorageLensDataExportEncryption>,
}
impl Builder {
pub fn format(mut self, input: crate::model::Format) -> Self {
self.format = Some(input);
self
}
pub fn set_format(mut self, input: std::option::Option<crate::model::Format>) -> Self {
self.format = input;
self
}
pub fn output_schema_version(mut self, input: crate::model::OutputSchemaVersion) -> Self {
self.output_schema_version = Some(input);
self
}
pub fn set_output_schema_version(
mut self,
input: std::option::Option<crate::model::OutputSchemaVersion>,
) -> Self {
self.output_schema_version = input;
self
}
pub fn account_id(mut self, input: impl Into<std::string::String>) -> Self {
self.account_id = Some(input.into());
self
}
pub fn set_account_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.account_id = input;
self
}
pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
self.arn = Some(input.into());
self
}
pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.arn = input;
self
}
pub fn prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.prefix = Some(input.into());
self
}
pub fn set_prefix(mut self, input: std::option::Option<std::string::String>) -> Self {
self.prefix = input;
self
}
pub fn encryption(mut self, input: crate::model::StorageLensDataExportEncryption) -> Self {
self.encryption = Some(input);
self
}
pub fn set_encryption(
mut self,
input: std::option::Option<crate::model::StorageLensDataExportEncryption>,
) -> Self {
self.encryption = input;
self
}
pub fn build(self) -> crate::model::S3BucketDestination {
crate::model::S3BucketDestination {
format: self.format,
output_schema_version: self.output_schema_version,
account_id: self.account_id,
arn: self.arn,
prefix: self.prefix,
encryption: self.encryption,
}
}
}
}
impl S3BucketDestination {
pub fn builder() -> crate::model::s3_bucket_destination::Builder {
crate::model::s3_bucket_destination::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StorageLensDataExportEncryption {
#[doc(hidden)]
pub sses3: std::option::Option<crate::model::Sses3>,
#[doc(hidden)]
pub ssekms: std::option::Option<crate::model::Ssekms>,
}
impl StorageLensDataExportEncryption {
pub fn sses3(&self) -> std::option::Option<&crate::model::Sses3> {
self.sses3.as_ref()
}
pub fn ssekms(&self) -> std::option::Option<&crate::model::Ssekms> {
self.ssekms.as_ref()
}
}
pub mod storage_lens_data_export_encryption {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) sses3: std::option::Option<crate::model::Sses3>,
pub(crate) ssekms: std::option::Option<crate::model::Ssekms>,
}
impl Builder {
pub fn sses3(mut self, input: crate::model::Sses3) -> Self {
self.sses3 = Some(input);
self
}
pub fn set_sses3(mut self, input: std::option::Option<crate::model::Sses3>) -> Self {
self.sses3 = input;
self
}
pub fn ssekms(mut self, input: crate::model::Ssekms) -> Self {
self.ssekms = Some(input);
self
}
pub fn set_ssekms(mut self, input: std::option::Option<crate::model::Ssekms>) -> Self {
self.ssekms = input;
self
}
pub fn build(self) -> crate::model::StorageLensDataExportEncryption {
crate::model::StorageLensDataExportEncryption {
sses3: self.sses3,
ssekms: self.ssekms,
}
}
}
}
impl StorageLensDataExportEncryption {
pub fn builder() -> crate::model::storage_lens_data_export_encryption::Builder {
crate::model::storage_lens_data_export_encryption::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Ssekms {
#[doc(hidden)]
pub key_id: std::option::Option<std::string::String>,
}
impl Ssekms {
pub fn key_id(&self) -> std::option::Option<&str> {
self.key_id.as_deref()
}
}
pub mod ssekms {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) key_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn key_id(mut self, input: impl Into<std::string::String>) -> Self {
self.key_id = Some(input.into());
self
}
pub fn set_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.key_id = input;
self
}
pub fn build(self) -> crate::model::Ssekms {
crate::model::Ssekms {
key_id: self.key_id,
}
}
}
}
impl Ssekms {
pub fn builder() -> crate::model::ssekms::Builder {
crate::model::ssekms::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Sses3 {}
pub mod sses3 {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {}
impl Builder {
pub fn build(self) -> crate::model::Sses3 {
crate::model::Sses3 {}
}
}
}
impl Sses3 {
pub fn builder() -> crate::model::sses3::Builder {
crate::model::sses3::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum OutputSchemaVersion {
#[allow(missing_docs)] V1,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for OutputSchemaVersion {
fn from(s: &str) -> Self {
match s {
"V_1" => OutputSchemaVersion::V1,
other => {
OutputSchemaVersion::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for OutputSchemaVersion {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(OutputSchemaVersion::from(s))
}
}
impl OutputSchemaVersion {
pub fn as_str(&self) -> &str {
match self {
OutputSchemaVersion::V1 => "V_1",
OutputSchemaVersion::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["V_1"]
}
}
impl AsRef<str> for OutputSchemaVersion {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum Format {
#[allow(missing_docs)] Csv,
#[allow(missing_docs)] Parquet,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for Format {
fn from(s: &str) -> Self {
match s {
"CSV" => Format::Csv,
"Parquet" => Format::Parquet,
other => Format::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for Format {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(Format::from(s))
}
}
impl Format {
pub fn as_str(&self) -> &str {
match self {
Format::Csv => "CSV",
Format::Parquet => "Parquet",
Format::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["CSV", "Parquet"]
}
}
impl AsRef<str> for Format {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Exclude {
#[doc(hidden)]
pub buckets: std::option::Option<std::vec::Vec<std::string::String>>,
#[doc(hidden)]
pub regions: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Exclude {
pub fn buckets(&self) -> std::option::Option<&[std::string::String]> {
self.buckets.as_deref()
}
pub fn regions(&self) -> std::option::Option<&[std::string::String]> {
self.regions.as_deref()
}
}
pub mod exclude {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) buckets: std::option::Option<std::vec::Vec<std::string::String>>,
pub(crate) regions: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn buckets(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.buckets.unwrap_or_default();
v.push(input.into());
self.buckets = Some(v);
self
}
pub fn set_buckets(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.buckets = input;
self
}
pub fn regions(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.regions.unwrap_or_default();
v.push(input.into());
self.regions = Some(v);
self
}
pub fn set_regions(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.regions = input;
self
}
pub fn build(self) -> crate::model::Exclude {
crate::model::Exclude {
buckets: self.buckets,
regions: self.regions,
}
}
}
}
impl Exclude {
pub fn builder() -> crate::model::exclude::Builder {
crate::model::exclude::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Include {
#[doc(hidden)]
pub buckets: std::option::Option<std::vec::Vec<std::string::String>>,
#[doc(hidden)]
pub regions: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Include {
pub fn buckets(&self) -> std::option::Option<&[std::string::String]> {
self.buckets.as_deref()
}
pub fn regions(&self) -> std::option::Option<&[std::string::String]> {
self.regions.as_deref()
}
}
pub mod include {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) buckets: std::option::Option<std::vec::Vec<std::string::String>>,
pub(crate) regions: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn buckets(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.buckets.unwrap_or_default();
v.push(input.into());
self.buckets = Some(v);
self
}
pub fn set_buckets(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.buckets = input;
self
}
pub fn regions(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.regions.unwrap_or_default();
v.push(input.into());
self.regions = Some(v);
self
}
pub fn set_regions(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.regions = input;
self
}
pub fn build(self) -> crate::model::Include {
crate::model::Include {
buckets: self.buckets,
regions: self.regions,
}
}
}
}
impl Include {
pub fn builder() -> crate::model::include::Builder {
crate::model::include::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AccountLevel {
#[doc(hidden)]
pub activity_metrics: std::option::Option<crate::model::ActivityMetrics>,
#[doc(hidden)]
pub bucket_level: std::option::Option<crate::model::BucketLevel>,
#[doc(hidden)]
pub advanced_cost_optimization_metrics:
std::option::Option<crate::model::AdvancedCostOptimizationMetrics>,
#[doc(hidden)]
pub advanced_data_protection_metrics:
std::option::Option<crate::model::AdvancedDataProtectionMetrics>,
#[doc(hidden)]
pub detailed_status_codes_metrics:
std::option::Option<crate::model::DetailedStatusCodesMetrics>,
}
impl AccountLevel {
pub fn activity_metrics(&self) -> std::option::Option<&crate::model::ActivityMetrics> {
self.activity_metrics.as_ref()
}
pub fn bucket_level(&self) -> std::option::Option<&crate::model::BucketLevel> {
self.bucket_level.as_ref()
}
pub fn advanced_cost_optimization_metrics(
&self,
) -> std::option::Option<&crate::model::AdvancedCostOptimizationMetrics> {
self.advanced_cost_optimization_metrics.as_ref()
}
pub fn advanced_data_protection_metrics(
&self,
) -> std::option::Option<&crate::model::AdvancedDataProtectionMetrics> {
self.advanced_data_protection_metrics.as_ref()
}
pub fn detailed_status_codes_metrics(
&self,
) -> std::option::Option<&crate::model::DetailedStatusCodesMetrics> {
self.detailed_status_codes_metrics.as_ref()
}
}
pub mod account_level {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) activity_metrics: std::option::Option<crate::model::ActivityMetrics>,
pub(crate) bucket_level: std::option::Option<crate::model::BucketLevel>,
pub(crate) advanced_cost_optimization_metrics:
std::option::Option<crate::model::AdvancedCostOptimizationMetrics>,
pub(crate) advanced_data_protection_metrics:
std::option::Option<crate::model::AdvancedDataProtectionMetrics>,
pub(crate) detailed_status_codes_metrics:
std::option::Option<crate::model::DetailedStatusCodesMetrics>,
}
impl Builder {
pub fn activity_metrics(mut self, input: crate::model::ActivityMetrics) -> Self {
self.activity_metrics = Some(input);
self
}
pub fn set_activity_metrics(
mut self,
input: std::option::Option<crate::model::ActivityMetrics>,
) -> Self {
self.activity_metrics = input;
self
}
pub fn bucket_level(mut self, input: crate::model::BucketLevel) -> Self {
self.bucket_level = Some(input);
self
}
pub fn set_bucket_level(
mut self,
input: std::option::Option<crate::model::BucketLevel>,
) -> Self {
self.bucket_level = input;
self
}
pub fn advanced_cost_optimization_metrics(
mut self,
input: crate::model::AdvancedCostOptimizationMetrics,
) -> Self {
self.advanced_cost_optimization_metrics = Some(input);
self
}
pub fn set_advanced_cost_optimization_metrics(
mut self,
input: std::option::Option<crate::model::AdvancedCostOptimizationMetrics>,
) -> Self {
self.advanced_cost_optimization_metrics = input;
self
}
pub fn advanced_data_protection_metrics(
mut self,
input: crate::model::AdvancedDataProtectionMetrics,
) -> Self {
self.advanced_data_protection_metrics = Some(input);
self
}
pub fn set_advanced_data_protection_metrics(
mut self,
input: std::option::Option<crate::model::AdvancedDataProtectionMetrics>,
) -> Self {
self.advanced_data_protection_metrics = input;
self
}
pub fn detailed_status_codes_metrics(
mut self,
input: crate::model::DetailedStatusCodesMetrics,
) -> Self {
self.detailed_status_codes_metrics = Some(input);
self
}
pub fn set_detailed_status_codes_metrics(
mut self,
input: std::option::Option<crate::model::DetailedStatusCodesMetrics>,
) -> Self {
self.detailed_status_codes_metrics = input;
self
}
pub fn build(self) -> crate::model::AccountLevel {
crate::model::AccountLevel {
activity_metrics: self.activity_metrics,
bucket_level: self.bucket_level,
advanced_cost_optimization_metrics: self.advanced_cost_optimization_metrics,
advanced_data_protection_metrics: self.advanced_data_protection_metrics,
detailed_status_codes_metrics: self.detailed_status_codes_metrics,
}
}
}
}
impl AccountLevel {
pub fn builder() -> crate::model::account_level::Builder {
crate::model::account_level::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DetailedStatusCodesMetrics {
#[doc(hidden)]
pub is_enabled: bool,
}
impl DetailedStatusCodesMetrics {
pub fn is_enabled(&self) -> bool {
self.is_enabled
}
}
pub mod detailed_status_codes_metrics {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) is_enabled: std::option::Option<bool>,
}
impl Builder {
pub fn is_enabled(mut self, input: bool) -> Self {
self.is_enabled = Some(input);
self
}
pub fn set_is_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.is_enabled = input;
self
}
pub fn build(self) -> crate::model::DetailedStatusCodesMetrics {
crate::model::DetailedStatusCodesMetrics {
is_enabled: self.is_enabled.unwrap_or_default(),
}
}
}
}
impl DetailedStatusCodesMetrics {
pub fn builder() -> crate::model::detailed_status_codes_metrics::Builder {
crate::model::detailed_status_codes_metrics::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AdvancedDataProtectionMetrics {
#[doc(hidden)]
pub is_enabled: bool,
}
impl AdvancedDataProtectionMetrics {
pub fn is_enabled(&self) -> bool {
self.is_enabled
}
}
pub mod advanced_data_protection_metrics {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) is_enabled: std::option::Option<bool>,
}
impl Builder {
pub fn is_enabled(mut self, input: bool) -> Self {
self.is_enabled = Some(input);
self
}
pub fn set_is_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.is_enabled = input;
self
}
pub fn build(self) -> crate::model::AdvancedDataProtectionMetrics {
crate::model::AdvancedDataProtectionMetrics {
is_enabled: self.is_enabled.unwrap_or_default(),
}
}
}
}
impl AdvancedDataProtectionMetrics {
pub fn builder() -> crate::model::advanced_data_protection_metrics::Builder {
crate::model::advanced_data_protection_metrics::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AdvancedCostOptimizationMetrics {
#[doc(hidden)]
pub is_enabled: bool,
}
impl AdvancedCostOptimizationMetrics {
pub fn is_enabled(&self) -> bool {
self.is_enabled
}
}
pub mod advanced_cost_optimization_metrics {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) is_enabled: std::option::Option<bool>,
}
impl Builder {
pub fn is_enabled(mut self, input: bool) -> Self {
self.is_enabled = Some(input);
self
}
pub fn set_is_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.is_enabled = input;
self
}
pub fn build(self) -> crate::model::AdvancedCostOptimizationMetrics {
crate::model::AdvancedCostOptimizationMetrics {
is_enabled: self.is_enabled.unwrap_or_default(),
}
}
}
}
impl AdvancedCostOptimizationMetrics {
pub fn builder() -> crate::model::advanced_cost_optimization_metrics::Builder {
crate::model::advanced_cost_optimization_metrics::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct BucketLevel {
#[doc(hidden)]
pub activity_metrics: std::option::Option<crate::model::ActivityMetrics>,
#[doc(hidden)]
pub prefix_level: std::option::Option<crate::model::PrefixLevel>,
#[doc(hidden)]
pub advanced_cost_optimization_metrics:
std::option::Option<crate::model::AdvancedCostOptimizationMetrics>,
#[doc(hidden)]
pub advanced_data_protection_metrics:
std::option::Option<crate::model::AdvancedDataProtectionMetrics>,
#[doc(hidden)]
pub detailed_status_codes_metrics:
std::option::Option<crate::model::DetailedStatusCodesMetrics>,
}
impl BucketLevel {
pub fn activity_metrics(&self) -> std::option::Option<&crate::model::ActivityMetrics> {
self.activity_metrics.as_ref()
}
pub fn prefix_level(&self) -> std::option::Option<&crate::model::PrefixLevel> {
self.prefix_level.as_ref()
}
pub fn advanced_cost_optimization_metrics(
&self,
) -> std::option::Option<&crate::model::AdvancedCostOptimizationMetrics> {
self.advanced_cost_optimization_metrics.as_ref()
}
pub fn advanced_data_protection_metrics(
&self,
) -> std::option::Option<&crate::model::AdvancedDataProtectionMetrics> {
self.advanced_data_protection_metrics.as_ref()
}
pub fn detailed_status_codes_metrics(
&self,
) -> std::option::Option<&crate::model::DetailedStatusCodesMetrics> {
self.detailed_status_codes_metrics.as_ref()
}
}
pub mod bucket_level {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) activity_metrics: std::option::Option<crate::model::ActivityMetrics>,
pub(crate) prefix_level: std::option::Option<crate::model::PrefixLevel>,
pub(crate) advanced_cost_optimization_metrics:
std::option::Option<crate::model::AdvancedCostOptimizationMetrics>,
pub(crate) advanced_data_protection_metrics:
std::option::Option<crate::model::AdvancedDataProtectionMetrics>,
pub(crate) detailed_status_codes_metrics:
std::option::Option<crate::model::DetailedStatusCodesMetrics>,
}
impl Builder {
pub fn activity_metrics(mut self, input: crate::model::ActivityMetrics) -> Self {
self.activity_metrics = Some(input);
self
}
pub fn set_activity_metrics(
mut self,
input: std::option::Option<crate::model::ActivityMetrics>,
) -> Self {
self.activity_metrics = input;
self
}
pub fn prefix_level(mut self, input: crate::model::PrefixLevel) -> Self {
self.prefix_level = Some(input);
self
}
pub fn set_prefix_level(
mut self,
input: std::option::Option<crate::model::PrefixLevel>,
) -> Self {
self.prefix_level = input;
self
}
pub fn advanced_cost_optimization_metrics(
mut self,
input: crate::model::AdvancedCostOptimizationMetrics,
) -> Self {
self.advanced_cost_optimization_metrics = Some(input);
self
}
pub fn set_advanced_cost_optimization_metrics(
mut self,
input: std::option::Option<crate::model::AdvancedCostOptimizationMetrics>,
) -> Self {
self.advanced_cost_optimization_metrics = input;
self
}
pub fn advanced_data_protection_metrics(
mut self,
input: crate::model::AdvancedDataProtectionMetrics,
) -> Self {
self.advanced_data_protection_metrics = Some(input);
self
}
pub fn set_advanced_data_protection_metrics(
mut self,
input: std::option::Option<crate::model::AdvancedDataProtectionMetrics>,
) -> Self {
self.advanced_data_protection_metrics = input;
self
}
pub fn detailed_status_codes_metrics(
mut self,
input: crate::model::DetailedStatusCodesMetrics,
) -> Self {
self.detailed_status_codes_metrics = Some(input);
self
}
pub fn set_detailed_status_codes_metrics(
mut self,
input: std::option::Option<crate::model::DetailedStatusCodesMetrics>,
) -> Self {
self.detailed_status_codes_metrics = input;
self
}
pub fn build(self) -> crate::model::BucketLevel {
crate::model::BucketLevel {
activity_metrics: self.activity_metrics,
prefix_level: self.prefix_level,
advanced_cost_optimization_metrics: self.advanced_cost_optimization_metrics,
advanced_data_protection_metrics: self.advanced_data_protection_metrics,
detailed_status_codes_metrics: self.detailed_status_codes_metrics,
}
}
}
}
impl BucketLevel {
pub fn builder() -> crate::model::bucket_level::Builder {
crate::model::bucket_level::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct PrefixLevel {
#[doc(hidden)]
pub storage_metrics: std::option::Option<crate::model::PrefixLevelStorageMetrics>,
}
impl PrefixLevel {
pub fn storage_metrics(&self) -> std::option::Option<&crate::model::PrefixLevelStorageMetrics> {
self.storage_metrics.as_ref()
}
}
pub mod prefix_level {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) storage_metrics: std::option::Option<crate::model::PrefixLevelStorageMetrics>,
}
impl Builder {
pub fn storage_metrics(mut self, input: crate::model::PrefixLevelStorageMetrics) -> Self {
self.storage_metrics = Some(input);
self
}
pub fn set_storage_metrics(
mut self,
input: std::option::Option<crate::model::PrefixLevelStorageMetrics>,
) -> Self {
self.storage_metrics = input;
self
}
pub fn build(self) -> crate::model::PrefixLevel {
crate::model::PrefixLevel {
storage_metrics: self.storage_metrics,
}
}
}
}
impl PrefixLevel {
pub fn builder() -> crate::model::prefix_level::Builder {
crate::model::prefix_level::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct PrefixLevelStorageMetrics {
#[doc(hidden)]
pub is_enabled: bool,
#[doc(hidden)]
pub selection_criteria: std::option::Option<crate::model::SelectionCriteria>,
}
impl PrefixLevelStorageMetrics {
pub fn is_enabled(&self) -> bool {
self.is_enabled
}
pub fn selection_criteria(&self) -> std::option::Option<&crate::model::SelectionCriteria> {
self.selection_criteria.as_ref()
}
}
pub mod prefix_level_storage_metrics {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) is_enabled: std::option::Option<bool>,
pub(crate) selection_criteria: std::option::Option<crate::model::SelectionCriteria>,
}
impl Builder {
pub fn is_enabled(mut self, input: bool) -> Self {
self.is_enabled = Some(input);
self
}
pub fn set_is_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.is_enabled = input;
self
}
pub fn selection_criteria(mut self, input: crate::model::SelectionCriteria) -> Self {
self.selection_criteria = Some(input);
self
}
pub fn set_selection_criteria(
mut self,
input: std::option::Option<crate::model::SelectionCriteria>,
) -> Self {
self.selection_criteria = input;
self
}
pub fn build(self) -> crate::model::PrefixLevelStorageMetrics {
crate::model::PrefixLevelStorageMetrics {
is_enabled: self.is_enabled.unwrap_or_default(),
selection_criteria: self.selection_criteria,
}
}
}
}
impl PrefixLevelStorageMetrics {
pub fn builder() -> crate::model::prefix_level_storage_metrics::Builder {
crate::model::prefix_level_storage_metrics::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct SelectionCriteria {
#[doc(hidden)]
pub delimiter: std::option::Option<std::string::String>,
#[doc(hidden)]
pub max_depth: i32,
#[doc(hidden)]
pub min_storage_bytes_percentage: f64,
}
impl SelectionCriteria {
pub fn delimiter(&self) -> std::option::Option<&str> {
self.delimiter.as_deref()
}
pub fn max_depth(&self) -> i32 {
self.max_depth
}
pub fn min_storage_bytes_percentage(&self) -> f64 {
self.min_storage_bytes_percentage
}
}
pub mod selection_criteria {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) delimiter: std::option::Option<std::string::String>,
pub(crate) max_depth: std::option::Option<i32>,
pub(crate) min_storage_bytes_percentage: std::option::Option<f64>,
}
impl Builder {
pub fn delimiter(mut self, input: impl Into<std::string::String>) -> Self {
self.delimiter = Some(input.into());
self
}
pub fn set_delimiter(mut self, input: std::option::Option<std::string::String>) -> Self {
self.delimiter = input;
self
}
pub fn max_depth(mut self, input: i32) -> Self {
self.max_depth = Some(input);
self
}
pub fn set_max_depth(mut self, input: std::option::Option<i32>) -> Self {
self.max_depth = input;
self
}
pub fn min_storage_bytes_percentage(mut self, input: f64) -> Self {
self.min_storage_bytes_percentage = Some(input);
self
}
pub fn set_min_storage_bytes_percentage(mut self, input: std::option::Option<f64>) -> Self {
self.min_storage_bytes_percentage = input;
self
}
pub fn build(self) -> crate::model::SelectionCriteria {
crate::model::SelectionCriteria {
delimiter: self.delimiter,
max_depth: self.max_depth.unwrap_or_default(),
min_storage_bytes_percentage: self.min_storage_bytes_percentage.unwrap_or_default(),
}
}
}
}
impl SelectionCriteria {
pub fn builder() -> crate::model::selection_criteria::Builder {
crate::model::selection_criteria::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ActivityMetrics {
#[doc(hidden)]
pub is_enabled: bool,
}
impl ActivityMetrics {
pub fn is_enabled(&self) -> bool {
self.is_enabled
}
}
pub mod activity_metrics {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) is_enabled: std::option::Option<bool>,
}
impl Builder {
pub fn is_enabled(mut self, input: bool) -> Self {
self.is_enabled = Some(input);
self
}
pub fn set_is_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.is_enabled = input;
self
}
pub fn build(self) -> crate::model::ActivityMetrics {
crate::model::ActivityMetrics {
is_enabled: self.is_enabled.unwrap_or_default(),
}
}
}
}
impl ActivityMetrics {
pub fn builder() -> crate::model::activity_metrics::Builder {
crate::model::activity_metrics::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct PublicAccessBlockConfiguration {
#[doc(hidden)]
pub block_public_acls: bool,
#[doc(hidden)]
pub ignore_public_acls: bool,
#[doc(hidden)]
pub block_public_policy: bool,
#[doc(hidden)]
pub restrict_public_buckets: bool,
}
impl PublicAccessBlockConfiguration {
pub fn block_public_acls(&self) -> bool {
self.block_public_acls
}
pub fn ignore_public_acls(&self) -> bool {
self.ignore_public_acls
}
pub fn block_public_policy(&self) -> bool {
self.block_public_policy
}
pub fn restrict_public_buckets(&self) -> bool {
self.restrict_public_buckets
}
}
pub mod public_access_block_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) block_public_acls: std::option::Option<bool>,
pub(crate) ignore_public_acls: std::option::Option<bool>,
pub(crate) block_public_policy: std::option::Option<bool>,
pub(crate) restrict_public_buckets: std::option::Option<bool>,
}
impl Builder {
pub fn block_public_acls(mut self, input: bool) -> Self {
self.block_public_acls = Some(input);
self
}
pub fn set_block_public_acls(mut self, input: std::option::Option<bool>) -> Self {
self.block_public_acls = input;
self
}
pub fn ignore_public_acls(mut self, input: bool) -> Self {
self.ignore_public_acls = Some(input);
self
}
pub fn set_ignore_public_acls(mut self, input: std::option::Option<bool>) -> Self {
self.ignore_public_acls = input;
self
}
pub fn block_public_policy(mut self, input: bool) -> Self {
self.block_public_policy = Some(input);
self
}
pub fn set_block_public_policy(mut self, input: std::option::Option<bool>) -> Self {
self.block_public_policy = input;
self
}
pub fn restrict_public_buckets(mut self, input: bool) -> Self {
self.restrict_public_buckets = Some(input);
self
}
pub fn set_restrict_public_buckets(mut self, input: std::option::Option<bool>) -> Self {
self.restrict_public_buckets = input;
self
}
pub fn build(self) -> crate::model::PublicAccessBlockConfiguration {
crate::model::PublicAccessBlockConfiguration {
block_public_acls: self.block_public_acls.unwrap_or_default(),
ignore_public_acls: self.ignore_public_acls.unwrap_or_default(),
block_public_policy: self.block_public_policy.unwrap_or_default(),
restrict_public_buckets: self.restrict_public_buckets.unwrap_or_default(),
}
}
}
}
impl PublicAccessBlockConfiguration {
pub fn builder() -> crate::model::public_access_block_configuration::Builder {
crate::model::public_access_block_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct PutMultiRegionAccessPointPolicyInput {
#[doc(hidden)]
pub name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub policy: std::option::Option<std::string::String>,
}
impl PutMultiRegionAccessPointPolicyInput {
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn policy(&self) -> std::option::Option<&str> {
self.policy.as_deref()
}
}
pub mod put_multi_region_access_point_policy_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) policy: std::option::Option<std::string::String>,
}
impl Builder {
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.name = Some(input.into());
self
}
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.name = input;
self
}
pub fn policy(mut self, input: impl Into<std::string::String>) -> Self {
self.policy = Some(input.into());
self
}
pub fn set_policy(mut self, input: std::option::Option<std::string::String>) -> Self {
self.policy = input;
self
}
pub fn build(self) -> crate::model::PutMultiRegionAccessPointPolicyInput {
crate::model::PutMultiRegionAccessPointPolicyInput {
name: self.name,
policy: self.policy,
}
}
}
}
impl PutMultiRegionAccessPointPolicyInput {
pub fn builder() -> crate::model::put_multi_region_access_point_policy_input::Builder {
crate::model::put_multi_region_access_point_policy_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3Tag {
#[doc(hidden)]
pub key: std::option::Option<std::string::String>,
#[doc(hidden)]
pub value: std::option::Option<std::string::String>,
}
impl S3Tag {
pub fn key(&self) -> std::option::Option<&str> {
self.key.as_deref()
}
pub fn value(&self) -> std::option::Option<&str> {
self.value.as_deref()
}
}
pub mod s3_tag {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) key: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<std::string::String>,
}
impl Builder {
pub fn key(mut self, input: impl Into<std::string::String>) -> Self {
self.key = Some(input.into());
self
}
pub fn set_key(mut self, input: std::option::Option<std::string::String>) -> Self {
self.key = input;
self
}
pub fn value(mut self, input: impl Into<std::string::String>) -> Self {
self.value = Some(input.into());
self
}
pub fn set_value(mut self, input: std::option::Option<std::string::String>) -> Self {
self.value = input;
self
}
pub fn build(self) -> crate::model::S3Tag {
crate::model::S3Tag {
key: self.key,
value: self.value,
}
}
}
}
impl S3Tag {
pub fn builder() -> crate::model::s3_tag::Builder {
crate::model::s3_tag::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct VersioningConfiguration {
#[doc(hidden)]
pub mfa_delete: std::option::Option<crate::model::MfaDelete>,
#[doc(hidden)]
pub status: std::option::Option<crate::model::BucketVersioningStatus>,
}
impl VersioningConfiguration {
pub fn mfa_delete(&self) -> std::option::Option<&crate::model::MfaDelete> {
self.mfa_delete.as_ref()
}
pub fn status(&self) -> std::option::Option<&crate::model::BucketVersioningStatus> {
self.status.as_ref()
}
}
pub mod versioning_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) mfa_delete: std::option::Option<crate::model::MfaDelete>,
pub(crate) status: std::option::Option<crate::model::BucketVersioningStatus>,
}
impl Builder {
pub fn mfa_delete(mut self, input: crate::model::MfaDelete) -> Self {
self.mfa_delete = Some(input);
self
}
pub fn set_mfa_delete(
mut self,
input: std::option::Option<crate::model::MfaDelete>,
) -> Self {
self.mfa_delete = input;
self
}
pub fn status(mut self, input: crate::model::BucketVersioningStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::BucketVersioningStatus>,
) -> Self {
self.status = input;
self
}
pub fn build(self) -> crate::model::VersioningConfiguration {
crate::model::VersioningConfiguration {
mfa_delete: self.mfa_delete,
status: self.status,
}
}
}
}
impl VersioningConfiguration {
pub fn builder() -> crate::model::versioning_configuration::Builder {
crate::model::versioning_configuration::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum BucketVersioningStatus {
#[allow(missing_docs)] Enabled,
#[allow(missing_docs)] Suspended,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for BucketVersioningStatus {
fn from(s: &str) -> Self {
match s {
"Enabled" => BucketVersioningStatus::Enabled,
"Suspended" => BucketVersioningStatus::Suspended,
other => {
BucketVersioningStatus::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for BucketVersioningStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(BucketVersioningStatus::from(s))
}
}
impl BucketVersioningStatus {
pub fn as_str(&self) -> &str {
match self {
BucketVersioningStatus::Enabled => "Enabled",
BucketVersioningStatus::Suspended => "Suspended",
BucketVersioningStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["Enabled", "Suspended"]
}
}
impl AsRef<str> for BucketVersioningStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum MfaDelete {
#[allow(missing_docs)] Disabled,
#[allow(missing_docs)] Enabled,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for MfaDelete {
fn from(s: &str) -> Self {
match s {
"Disabled" => MfaDelete::Disabled,
"Enabled" => MfaDelete::Enabled,
other => MfaDelete::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for MfaDelete {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(MfaDelete::from(s))
}
}
impl MfaDelete {
pub fn as_str(&self) -> &str {
match self {
MfaDelete::Disabled => "Disabled",
MfaDelete::Enabled => "Enabled",
MfaDelete::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["Disabled", "Enabled"]
}
}
impl AsRef<str> for MfaDelete {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Tagging {
#[doc(hidden)]
pub tag_set: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
}
impl Tagging {
pub fn tag_set(&self) -> std::option::Option<&[crate::model::S3Tag]> {
self.tag_set.as_deref()
}
}
pub mod tagging {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) tag_set: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
}
impl Builder {
pub fn tag_set(mut self, input: crate::model::S3Tag) -> Self {
let mut v = self.tag_set.unwrap_or_default();
v.push(input);
self.tag_set = Some(v);
self
}
pub fn set_tag_set(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
) -> Self {
self.tag_set = input;
self
}
pub fn build(self) -> crate::model::Tagging {
crate::model::Tagging {
tag_set: self.tag_set,
}
}
}
}
impl Tagging {
pub fn builder() -> crate::model::tagging::Builder {
crate::model::tagging::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct LifecycleConfiguration {
#[doc(hidden)]
pub rules: std::option::Option<std::vec::Vec<crate::model::LifecycleRule>>,
}
impl LifecycleConfiguration {
pub fn rules(&self) -> std::option::Option<&[crate::model::LifecycleRule]> {
self.rules.as_deref()
}
}
pub mod lifecycle_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) rules: std::option::Option<std::vec::Vec<crate::model::LifecycleRule>>,
}
impl Builder {
pub fn rules(mut self, input: crate::model::LifecycleRule) -> Self {
let mut v = self.rules.unwrap_or_default();
v.push(input);
self.rules = Some(v);
self
}
pub fn set_rules(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::LifecycleRule>>,
) -> Self {
self.rules = input;
self
}
pub fn build(self) -> crate::model::LifecycleConfiguration {
crate::model::LifecycleConfiguration { rules: self.rules }
}
}
}
impl LifecycleConfiguration {
pub fn builder() -> crate::model::lifecycle_configuration::Builder {
crate::model::lifecycle_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct LifecycleRule {
#[doc(hidden)]
pub expiration: std::option::Option<crate::model::LifecycleExpiration>,
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub filter: std::option::Option<crate::model::LifecycleRuleFilter>,
#[doc(hidden)]
pub status: std::option::Option<crate::model::ExpirationStatus>,
#[doc(hidden)]
pub transitions: std::option::Option<std::vec::Vec<crate::model::Transition>>,
#[doc(hidden)]
pub noncurrent_version_transitions:
std::option::Option<std::vec::Vec<crate::model::NoncurrentVersionTransition>>,
#[doc(hidden)]
pub noncurrent_version_expiration:
std::option::Option<crate::model::NoncurrentVersionExpiration>,
#[doc(hidden)]
pub abort_incomplete_multipart_upload:
std::option::Option<crate::model::AbortIncompleteMultipartUpload>,
}
impl LifecycleRule {
pub fn expiration(&self) -> std::option::Option<&crate::model::LifecycleExpiration> {
self.expiration.as_ref()
}
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn filter(&self) -> std::option::Option<&crate::model::LifecycleRuleFilter> {
self.filter.as_ref()
}
pub fn status(&self) -> std::option::Option<&crate::model::ExpirationStatus> {
self.status.as_ref()
}
pub fn transitions(&self) -> std::option::Option<&[crate::model::Transition]> {
self.transitions.as_deref()
}
pub fn noncurrent_version_transitions(
&self,
) -> std::option::Option<&[crate::model::NoncurrentVersionTransition]> {
self.noncurrent_version_transitions.as_deref()
}
pub fn noncurrent_version_expiration(
&self,
) -> std::option::Option<&crate::model::NoncurrentVersionExpiration> {
self.noncurrent_version_expiration.as_ref()
}
pub fn abort_incomplete_multipart_upload(
&self,
) -> std::option::Option<&crate::model::AbortIncompleteMultipartUpload> {
self.abort_incomplete_multipart_upload.as_ref()
}
}
pub mod lifecycle_rule {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) expiration: std::option::Option<crate::model::LifecycleExpiration>,
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) filter: std::option::Option<crate::model::LifecycleRuleFilter>,
pub(crate) status: std::option::Option<crate::model::ExpirationStatus>,
pub(crate) transitions: std::option::Option<std::vec::Vec<crate::model::Transition>>,
pub(crate) noncurrent_version_transitions:
std::option::Option<std::vec::Vec<crate::model::NoncurrentVersionTransition>>,
pub(crate) noncurrent_version_expiration:
std::option::Option<crate::model::NoncurrentVersionExpiration>,
pub(crate) abort_incomplete_multipart_upload:
std::option::Option<crate::model::AbortIncompleteMultipartUpload>,
}
impl Builder {
pub fn expiration(mut self, input: crate::model::LifecycleExpiration) -> Self {
self.expiration = Some(input);
self
}
pub fn set_expiration(
mut self,
input: std::option::Option<crate::model::LifecycleExpiration>,
) -> Self {
self.expiration = input;
self
}
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn filter(mut self, input: crate::model::LifecycleRuleFilter) -> Self {
self.filter = Some(input);
self
}
pub fn set_filter(
mut self,
input: std::option::Option<crate::model::LifecycleRuleFilter>,
) -> Self {
self.filter = input;
self
}
pub fn status(mut self, input: crate::model::ExpirationStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::ExpirationStatus>,
) -> Self {
self.status = input;
self
}
pub fn transitions(mut self, input: crate::model::Transition) -> Self {
let mut v = self.transitions.unwrap_or_default();
v.push(input);
self.transitions = Some(v);
self
}
pub fn set_transitions(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::Transition>>,
) -> Self {
self.transitions = input;
self
}
pub fn noncurrent_version_transitions(
mut self,
input: crate::model::NoncurrentVersionTransition,
) -> Self {
let mut v = self.noncurrent_version_transitions.unwrap_or_default();
v.push(input);
self.noncurrent_version_transitions = Some(v);
self
}
pub fn set_noncurrent_version_transitions(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::NoncurrentVersionTransition>>,
) -> Self {
self.noncurrent_version_transitions = input;
self
}
pub fn noncurrent_version_expiration(
mut self,
input: crate::model::NoncurrentVersionExpiration,
) -> Self {
self.noncurrent_version_expiration = Some(input);
self
}
pub fn set_noncurrent_version_expiration(
mut self,
input: std::option::Option<crate::model::NoncurrentVersionExpiration>,
) -> Self {
self.noncurrent_version_expiration = input;
self
}
pub fn abort_incomplete_multipart_upload(
mut self,
input: crate::model::AbortIncompleteMultipartUpload,
) -> Self {
self.abort_incomplete_multipart_upload = Some(input);
self
}
pub fn set_abort_incomplete_multipart_upload(
mut self,
input: std::option::Option<crate::model::AbortIncompleteMultipartUpload>,
) -> Self {
self.abort_incomplete_multipart_upload = input;
self
}
pub fn build(self) -> crate::model::LifecycleRule {
crate::model::LifecycleRule {
expiration: self.expiration,
id: self.id,
filter: self.filter,
status: self.status,
transitions: self.transitions,
noncurrent_version_transitions: self.noncurrent_version_transitions,
noncurrent_version_expiration: self.noncurrent_version_expiration,
abort_incomplete_multipart_upload: self.abort_incomplete_multipart_upload,
}
}
}
}
impl LifecycleRule {
pub fn builder() -> crate::model::lifecycle_rule::Builder {
crate::model::lifecycle_rule::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AbortIncompleteMultipartUpload {
#[doc(hidden)]
pub days_after_initiation: i32,
}
impl AbortIncompleteMultipartUpload {
pub fn days_after_initiation(&self) -> i32 {
self.days_after_initiation
}
}
pub mod abort_incomplete_multipart_upload {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) days_after_initiation: std::option::Option<i32>,
}
impl Builder {
pub fn days_after_initiation(mut self, input: i32) -> Self {
self.days_after_initiation = Some(input);
self
}
pub fn set_days_after_initiation(mut self, input: std::option::Option<i32>) -> Self {
self.days_after_initiation = input;
self
}
pub fn build(self) -> crate::model::AbortIncompleteMultipartUpload {
crate::model::AbortIncompleteMultipartUpload {
days_after_initiation: self.days_after_initiation.unwrap_or_default(),
}
}
}
}
impl AbortIncompleteMultipartUpload {
pub fn builder() -> crate::model::abort_incomplete_multipart_upload::Builder {
crate::model::abort_incomplete_multipart_upload::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct NoncurrentVersionExpiration {
#[doc(hidden)]
pub noncurrent_days: i32,
#[doc(hidden)]
pub newer_noncurrent_versions: std::option::Option<i32>,
}
impl NoncurrentVersionExpiration {
pub fn noncurrent_days(&self) -> i32 {
self.noncurrent_days
}
pub fn newer_noncurrent_versions(&self) -> std::option::Option<i32> {
self.newer_noncurrent_versions
}
}
pub mod noncurrent_version_expiration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) noncurrent_days: std::option::Option<i32>,
pub(crate) newer_noncurrent_versions: std::option::Option<i32>,
}
impl Builder {
pub fn noncurrent_days(mut self, input: i32) -> Self {
self.noncurrent_days = Some(input);
self
}
pub fn set_noncurrent_days(mut self, input: std::option::Option<i32>) -> Self {
self.noncurrent_days = input;
self
}
pub fn newer_noncurrent_versions(mut self, input: i32) -> Self {
self.newer_noncurrent_versions = Some(input);
self
}
pub fn set_newer_noncurrent_versions(mut self, input: std::option::Option<i32>) -> Self {
self.newer_noncurrent_versions = input;
self
}
pub fn build(self) -> crate::model::NoncurrentVersionExpiration {
crate::model::NoncurrentVersionExpiration {
noncurrent_days: self.noncurrent_days.unwrap_or_default(),
newer_noncurrent_versions: self.newer_noncurrent_versions,
}
}
}
}
impl NoncurrentVersionExpiration {
pub fn builder() -> crate::model::noncurrent_version_expiration::Builder {
crate::model::noncurrent_version_expiration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct NoncurrentVersionTransition {
#[doc(hidden)]
pub noncurrent_days: i32,
#[doc(hidden)]
pub storage_class: std::option::Option<crate::model::TransitionStorageClass>,
}
impl NoncurrentVersionTransition {
pub fn noncurrent_days(&self) -> i32 {
self.noncurrent_days
}
pub fn storage_class(&self) -> std::option::Option<&crate::model::TransitionStorageClass> {
self.storage_class.as_ref()
}
}
pub mod noncurrent_version_transition {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) noncurrent_days: std::option::Option<i32>,
pub(crate) storage_class: std::option::Option<crate::model::TransitionStorageClass>,
}
impl Builder {
pub fn noncurrent_days(mut self, input: i32) -> Self {
self.noncurrent_days = Some(input);
self
}
pub fn set_noncurrent_days(mut self, input: std::option::Option<i32>) -> Self {
self.noncurrent_days = input;
self
}
pub fn storage_class(mut self, input: crate::model::TransitionStorageClass) -> Self {
self.storage_class = Some(input);
self
}
pub fn set_storage_class(
mut self,
input: std::option::Option<crate::model::TransitionStorageClass>,
) -> Self {
self.storage_class = input;
self
}
pub fn build(self) -> crate::model::NoncurrentVersionTransition {
crate::model::NoncurrentVersionTransition {
noncurrent_days: self.noncurrent_days.unwrap_or_default(),
storage_class: self.storage_class,
}
}
}
}
impl NoncurrentVersionTransition {
pub fn builder() -> crate::model::noncurrent_version_transition::Builder {
crate::model::noncurrent_version_transition::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum TransitionStorageClass {
#[allow(missing_docs)] DeepArchive,
#[allow(missing_docs)] Glacier,
#[allow(missing_docs)] IntelligentTiering,
#[allow(missing_docs)] OnezoneIa,
#[allow(missing_docs)] StandardIa,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for TransitionStorageClass {
fn from(s: &str) -> Self {
match s {
"DEEP_ARCHIVE" => TransitionStorageClass::DeepArchive,
"GLACIER" => TransitionStorageClass::Glacier,
"INTELLIGENT_TIERING" => TransitionStorageClass::IntelligentTiering,
"ONEZONE_IA" => TransitionStorageClass::OnezoneIa,
"STANDARD_IA" => TransitionStorageClass::StandardIa,
other => {
TransitionStorageClass::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for TransitionStorageClass {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(TransitionStorageClass::from(s))
}
}
impl TransitionStorageClass {
pub fn as_str(&self) -> &str {
match self {
TransitionStorageClass::DeepArchive => "DEEP_ARCHIVE",
TransitionStorageClass::Glacier => "GLACIER",
TransitionStorageClass::IntelligentTiering => "INTELLIGENT_TIERING",
TransitionStorageClass::OnezoneIa => "ONEZONE_IA",
TransitionStorageClass::StandardIa => "STANDARD_IA",
TransitionStorageClass::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"DEEP_ARCHIVE",
"GLACIER",
"INTELLIGENT_TIERING",
"ONEZONE_IA",
"STANDARD_IA",
]
}
}
impl AsRef<str> for TransitionStorageClass {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Transition {
#[doc(hidden)]
pub date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub days: i32,
#[doc(hidden)]
pub storage_class: std::option::Option<crate::model::TransitionStorageClass>,
}
impl Transition {
pub fn date(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.date.as_ref()
}
pub fn days(&self) -> i32 {
self.days
}
pub fn storage_class(&self) -> std::option::Option<&crate::model::TransitionStorageClass> {
self.storage_class.as_ref()
}
}
pub mod transition {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) days: std::option::Option<i32>,
pub(crate) storage_class: std::option::Option<crate::model::TransitionStorageClass>,
}
impl Builder {
pub fn date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.date = Some(input);
self
}
pub fn set_date(mut self, input: std::option::Option<aws_smithy_types::DateTime>) -> Self {
self.date = input;
self
}
pub fn days(mut self, input: i32) -> Self {
self.days = Some(input);
self
}
pub fn set_days(mut self, input: std::option::Option<i32>) -> Self {
self.days = input;
self
}
pub fn storage_class(mut self, input: crate::model::TransitionStorageClass) -> Self {
self.storage_class = Some(input);
self
}
pub fn set_storage_class(
mut self,
input: std::option::Option<crate::model::TransitionStorageClass>,
) -> Self {
self.storage_class = input;
self
}
pub fn build(self) -> crate::model::Transition {
crate::model::Transition {
date: self.date,
days: self.days.unwrap_or_default(),
storage_class: self.storage_class,
}
}
}
}
impl Transition {
pub fn builder() -> crate::model::transition::Builder {
crate::model::transition::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum ExpirationStatus {
#[allow(missing_docs)] Disabled,
#[allow(missing_docs)] Enabled,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for ExpirationStatus {
fn from(s: &str) -> Self {
match s {
"Disabled" => ExpirationStatus::Disabled,
"Enabled" => ExpirationStatus::Enabled,
other => ExpirationStatus::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for ExpirationStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ExpirationStatus::from(s))
}
}
impl ExpirationStatus {
pub fn as_str(&self) -> &str {
match self {
ExpirationStatus::Disabled => "Disabled",
ExpirationStatus::Enabled => "Enabled",
ExpirationStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["Disabled", "Enabled"]
}
}
impl AsRef<str> for ExpirationStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct LifecycleRuleFilter {
#[doc(hidden)]
pub prefix: std::option::Option<std::string::String>,
#[doc(hidden)]
pub tag: std::option::Option<crate::model::S3Tag>,
#[doc(hidden)]
pub and: std::option::Option<crate::model::LifecycleRuleAndOperator>,
#[doc(hidden)]
pub object_size_greater_than: std::option::Option<i64>,
#[doc(hidden)]
pub object_size_less_than: std::option::Option<i64>,
}
impl LifecycleRuleFilter {
pub fn prefix(&self) -> std::option::Option<&str> {
self.prefix.as_deref()
}
pub fn tag(&self) -> std::option::Option<&crate::model::S3Tag> {
self.tag.as_ref()
}
pub fn and(&self) -> std::option::Option<&crate::model::LifecycleRuleAndOperator> {
self.and.as_ref()
}
pub fn object_size_greater_than(&self) -> std::option::Option<i64> {
self.object_size_greater_than
}
pub fn object_size_less_than(&self) -> std::option::Option<i64> {
self.object_size_less_than
}
}
pub mod lifecycle_rule_filter {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) prefix: std::option::Option<std::string::String>,
pub(crate) tag: std::option::Option<crate::model::S3Tag>,
pub(crate) and: std::option::Option<crate::model::LifecycleRuleAndOperator>,
pub(crate) object_size_greater_than: std::option::Option<i64>,
pub(crate) object_size_less_than: std::option::Option<i64>,
}
impl Builder {
pub fn prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.prefix = Some(input.into());
self
}
pub fn set_prefix(mut self, input: std::option::Option<std::string::String>) -> Self {
self.prefix = input;
self
}
pub fn tag(mut self, input: crate::model::S3Tag) -> Self {
self.tag = Some(input);
self
}
pub fn set_tag(mut self, input: std::option::Option<crate::model::S3Tag>) -> Self {
self.tag = input;
self
}
pub fn and(mut self, input: crate::model::LifecycleRuleAndOperator) -> Self {
self.and = Some(input);
self
}
pub fn set_and(
mut self,
input: std::option::Option<crate::model::LifecycleRuleAndOperator>,
) -> Self {
self.and = input;
self
}
pub fn object_size_greater_than(mut self, input: i64) -> Self {
self.object_size_greater_than = Some(input);
self
}
pub fn set_object_size_greater_than(mut self, input: std::option::Option<i64>) -> Self {
self.object_size_greater_than = input;
self
}
pub fn object_size_less_than(mut self, input: i64) -> Self {
self.object_size_less_than = Some(input);
self
}
pub fn set_object_size_less_than(mut self, input: std::option::Option<i64>) -> Self {
self.object_size_less_than = input;
self
}
pub fn build(self) -> crate::model::LifecycleRuleFilter {
crate::model::LifecycleRuleFilter {
prefix: self.prefix,
tag: self.tag,
and: self.and,
object_size_greater_than: self.object_size_greater_than,
object_size_less_than: self.object_size_less_than,
}
}
}
}
impl LifecycleRuleFilter {
pub fn builder() -> crate::model::lifecycle_rule_filter::Builder {
crate::model::lifecycle_rule_filter::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct LifecycleRuleAndOperator {
#[doc(hidden)]
pub prefix: std::option::Option<std::string::String>,
#[doc(hidden)]
pub tags: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
#[doc(hidden)]
pub object_size_greater_than: std::option::Option<i64>,
#[doc(hidden)]
pub object_size_less_than: std::option::Option<i64>,
}
impl LifecycleRuleAndOperator {
pub fn prefix(&self) -> std::option::Option<&str> {
self.prefix.as_deref()
}
pub fn tags(&self) -> std::option::Option<&[crate::model::S3Tag]> {
self.tags.as_deref()
}
pub fn object_size_greater_than(&self) -> std::option::Option<i64> {
self.object_size_greater_than
}
pub fn object_size_less_than(&self) -> std::option::Option<i64> {
self.object_size_less_than
}
}
pub mod lifecycle_rule_and_operator {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) prefix: std::option::Option<std::string::String>,
pub(crate) tags: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
pub(crate) object_size_greater_than: std::option::Option<i64>,
pub(crate) object_size_less_than: std::option::Option<i64>,
}
impl Builder {
pub fn prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.prefix = Some(input.into());
self
}
pub fn set_prefix(mut self, input: std::option::Option<std::string::String>) -> Self {
self.prefix = input;
self
}
pub fn tags(mut self, input: crate::model::S3Tag) -> Self {
let mut v = self.tags.unwrap_or_default();
v.push(input);
self.tags = Some(v);
self
}
pub fn set_tags(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
) -> Self {
self.tags = input;
self
}
pub fn object_size_greater_than(mut self, input: i64) -> Self {
self.object_size_greater_than = Some(input);
self
}
pub fn set_object_size_greater_than(mut self, input: std::option::Option<i64>) -> Self {
self.object_size_greater_than = input;
self
}
pub fn object_size_less_than(mut self, input: i64) -> Self {
self.object_size_less_than = Some(input);
self
}
pub fn set_object_size_less_than(mut self, input: std::option::Option<i64>) -> Self {
self.object_size_less_than = input;
self
}
pub fn build(self) -> crate::model::LifecycleRuleAndOperator {
crate::model::LifecycleRuleAndOperator {
prefix: self.prefix,
tags: self.tags,
object_size_greater_than: self.object_size_greater_than,
object_size_less_than: self.object_size_less_than,
}
}
}
}
impl LifecycleRuleAndOperator {
pub fn builder() -> crate::model::lifecycle_rule_and_operator::Builder {
crate::model::lifecycle_rule_and_operator::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct LifecycleExpiration {
#[doc(hidden)]
pub date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub days: i32,
#[doc(hidden)]
pub expired_object_delete_marker: bool,
}
impl LifecycleExpiration {
pub fn date(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.date.as_ref()
}
pub fn days(&self) -> i32 {
self.days
}
pub fn expired_object_delete_marker(&self) -> bool {
self.expired_object_delete_marker
}
}
pub mod lifecycle_expiration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) days: std::option::Option<i32>,
pub(crate) expired_object_delete_marker: std::option::Option<bool>,
}
impl Builder {
pub fn date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.date = Some(input);
self
}
pub fn set_date(mut self, input: std::option::Option<aws_smithy_types::DateTime>) -> Self {
self.date = input;
self
}
pub fn days(mut self, input: i32) -> Self {
self.days = Some(input);
self
}
pub fn set_days(mut self, input: std::option::Option<i32>) -> Self {
self.days = input;
self
}
pub fn expired_object_delete_marker(mut self, input: bool) -> Self {
self.expired_object_delete_marker = Some(input);
self
}
pub fn set_expired_object_delete_marker(
mut self,
input: std::option::Option<bool>,
) -> Self {
self.expired_object_delete_marker = input;
self
}
pub fn build(self) -> crate::model::LifecycleExpiration {
crate::model::LifecycleExpiration {
date: self.date,
days: self.days.unwrap_or_default(),
expired_object_delete_marker: self.expired_object_delete_marker.unwrap_or_default(),
}
}
}
}
impl LifecycleExpiration {
pub fn builder() -> crate::model::lifecycle_expiration::Builder {
crate::model::lifecycle_expiration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ObjectLambdaConfiguration {
#[doc(hidden)]
pub supporting_access_point: std::option::Option<std::string::String>,
#[doc(hidden)]
pub cloud_watch_metrics_enabled: bool,
#[doc(hidden)]
pub allowed_features:
std::option::Option<std::vec::Vec<crate::model::ObjectLambdaAllowedFeature>>,
#[doc(hidden)]
pub transformation_configurations:
std::option::Option<std::vec::Vec<crate::model::ObjectLambdaTransformationConfiguration>>,
}
impl ObjectLambdaConfiguration {
pub fn supporting_access_point(&self) -> std::option::Option<&str> {
self.supporting_access_point.as_deref()
}
pub fn cloud_watch_metrics_enabled(&self) -> bool {
self.cloud_watch_metrics_enabled
}
pub fn allowed_features(
&self,
) -> std::option::Option<&[crate::model::ObjectLambdaAllowedFeature]> {
self.allowed_features.as_deref()
}
pub fn transformation_configurations(
&self,
) -> std::option::Option<&[crate::model::ObjectLambdaTransformationConfiguration]> {
self.transformation_configurations.as_deref()
}
}
pub mod object_lambda_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) supporting_access_point: std::option::Option<std::string::String>,
pub(crate) cloud_watch_metrics_enabled: std::option::Option<bool>,
pub(crate) allowed_features:
std::option::Option<std::vec::Vec<crate::model::ObjectLambdaAllowedFeature>>,
pub(crate) transformation_configurations: std::option::Option<
std::vec::Vec<crate::model::ObjectLambdaTransformationConfiguration>,
>,
}
impl Builder {
pub fn supporting_access_point(mut self, input: impl Into<std::string::String>) -> Self {
self.supporting_access_point = Some(input.into());
self
}
pub fn set_supporting_access_point(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.supporting_access_point = input;
self
}
pub fn cloud_watch_metrics_enabled(mut self, input: bool) -> Self {
self.cloud_watch_metrics_enabled = Some(input);
self
}
pub fn set_cloud_watch_metrics_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.cloud_watch_metrics_enabled = input;
self
}
pub fn allowed_features(mut self, input: crate::model::ObjectLambdaAllowedFeature) -> Self {
let mut v = self.allowed_features.unwrap_or_default();
v.push(input);
self.allowed_features = Some(v);
self
}
pub fn set_allowed_features(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ObjectLambdaAllowedFeature>>,
) -> Self {
self.allowed_features = input;
self
}
pub fn transformation_configurations(
mut self,
input: crate::model::ObjectLambdaTransformationConfiguration,
) -> Self {
let mut v = self.transformation_configurations.unwrap_or_default();
v.push(input);
self.transformation_configurations = Some(v);
self
}
pub fn set_transformation_configurations(
mut self,
input: std::option::Option<
std::vec::Vec<crate::model::ObjectLambdaTransformationConfiguration>,
>,
) -> Self {
self.transformation_configurations = input;
self
}
pub fn build(self) -> crate::model::ObjectLambdaConfiguration {
crate::model::ObjectLambdaConfiguration {
supporting_access_point: self.supporting_access_point,
cloud_watch_metrics_enabled: self.cloud_watch_metrics_enabled.unwrap_or_default(),
allowed_features: self.allowed_features,
transformation_configurations: self.transformation_configurations,
}
}
}
}
impl ObjectLambdaConfiguration {
pub fn builder() -> crate::model::object_lambda_configuration::Builder {
crate::model::object_lambda_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ObjectLambdaTransformationConfiguration {
#[doc(hidden)]
pub actions: std::option::Option<
std::vec::Vec<crate::model::ObjectLambdaTransformationConfigurationAction>,
>,
#[doc(hidden)]
pub content_transformation:
std::option::Option<crate::model::ObjectLambdaContentTransformation>,
}
impl ObjectLambdaTransformationConfiguration {
pub fn actions(
&self,
) -> std::option::Option<&[crate::model::ObjectLambdaTransformationConfigurationAction]> {
self.actions.as_deref()
}
pub fn content_transformation(
&self,
) -> std::option::Option<&crate::model::ObjectLambdaContentTransformation> {
self.content_transformation.as_ref()
}
}
pub mod object_lambda_transformation_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) actions: std::option::Option<
std::vec::Vec<crate::model::ObjectLambdaTransformationConfigurationAction>,
>,
pub(crate) content_transformation:
std::option::Option<crate::model::ObjectLambdaContentTransformation>,
}
impl Builder {
pub fn actions(
mut self,
input: crate::model::ObjectLambdaTransformationConfigurationAction,
) -> Self {
let mut v = self.actions.unwrap_or_default();
v.push(input);
self.actions = Some(v);
self
}
pub fn set_actions(
mut self,
input: std::option::Option<
std::vec::Vec<crate::model::ObjectLambdaTransformationConfigurationAction>,
>,
) -> Self {
self.actions = input;
self
}
pub fn content_transformation(
mut self,
input: crate::model::ObjectLambdaContentTransformation,
) -> Self {
self.content_transformation = Some(input);
self
}
pub fn set_content_transformation(
mut self,
input: std::option::Option<crate::model::ObjectLambdaContentTransformation>,
) -> Self {
self.content_transformation = input;
self
}
pub fn build(self) -> crate::model::ObjectLambdaTransformationConfiguration {
crate::model::ObjectLambdaTransformationConfiguration {
actions: self.actions,
content_transformation: self.content_transformation,
}
}
}
}
impl ObjectLambdaTransformationConfiguration {
pub fn builder() -> crate::model::object_lambda_transformation_configuration::Builder {
crate::model::object_lambda_transformation_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub enum ObjectLambdaContentTransformation {
AwsLambda(crate::model::AwsLambdaTransformation),
#[non_exhaustive]
Unknown,
}
impl ObjectLambdaContentTransformation {
#[allow(irrefutable_let_patterns)]
pub fn as_aws_lambda(
&self,
) -> std::result::Result<&crate::model::AwsLambdaTransformation, &Self> {
if let ObjectLambdaContentTransformation::AwsLambda(val) = &self {
Ok(val)
} else {
Err(self)
}
}
pub fn is_aws_lambda(&self) -> bool {
self.as_aws_lambda().is_ok()
}
pub fn is_unknown(&self) -> bool {
matches!(self, Self::Unknown)
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AwsLambdaTransformation {
#[doc(hidden)]
pub function_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub function_payload: std::option::Option<std::string::String>,
}
impl AwsLambdaTransformation {
pub fn function_arn(&self) -> std::option::Option<&str> {
self.function_arn.as_deref()
}
pub fn function_payload(&self) -> std::option::Option<&str> {
self.function_payload.as_deref()
}
}
pub mod aws_lambda_transformation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) function_arn: std::option::Option<std::string::String>,
pub(crate) function_payload: std::option::Option<std::string::String>,
}
impl Builder {
pub fn function_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.function_arn = Some(input.into());
self
}
pub fn set_function_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.function_arn = input;
self
}
pub fn function_payload(mut self, input: impl Into<std::string::String>) -> Self {
self.function_payload = Some(input.into());
self
}
pub fn set_function_payload(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.function_payload = input;
self
}
pub fn build(self) -> crate::model::AwsLambdaTransformation {
crate::model::AwsLambdaTransformation {
function_arn: self.function_arn,
function_payload: self.function_payload,
}
}
}
}
impl AwsLambdaTransformation {
pub fn builder() -> crate::model::aws_lambda_transformation::Builder {
crate::model::aws_lambda_transformation::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum ObjectLambdaTransformationConfigurationAction {
#[allow(missing_docs)] GetObject,
#[allow(missing_docs)] HeadObject,
#[allow(missing_docs)] ListObjects,
#[allow(missing_docs)] ListObjectsV2,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for ObjectLambdaTransformationConfigurationAction {
fn from(s: &str) -> Self {
match s {
"GetObject" => ObjectLambdaTransformationConfigurationAction::GetObject,
"HeadObject" => ObjectLambdaTransformationConfigurationAction::HeadObject,
"ListObjects" => ObjectLambdaTransformationConfigurationAction::ListObjects,
"ListObjectsV2" => ObjectLambdaTransformationConfigurationAction::ListObjectsV2,
other => ObjectLambdaTransformationConfigurationAction::Unknown(
crate::types::UnknownVariantValue(other.to_owned()),
),
}
}
}
impl std::str::FromStr for ObjectLambdaTransformationConfigurationAction {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ObjectLambdaTransformationConfigurationAction::from(s))
}
}
impl ObjectLambdaTransformationConfigurationAction {
pub fn as_str(&self) -> &str {
match self {
ObjectLambdaTransformationConfigurationAction::GetObject => "GetObject",
ObjectLambdaTransformationConfigurationAction::HeadObject => "HeadObject",
ObjectLambdaTransformationConfigurationAction::ListObjects => "ListObjects",
ObjectLambdaTransformationConfigurationAction::ListObjectsV2 => "ListObjectsV2",
ObjectLambdaTransformationConfigurationAction::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"]
}
}
impl AsRef<str> for ObjectLambdaTransformationConfigurationAction {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum ObjectLambdaAllowedFeature {
#[allow(missing_docs)] GetObjectPartNumber,
#[allow(missing_docs)] GetObjectRange,
#[allow(missing_docs)] HeadObjectPartNumber,
#[allow(missing_docs)] HeadObjectRange,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for ObjectLambdaAllowedFeature {
fn from(s: &str) -> Self {
match s {
"GetObject-PartNumber" => ObjectLambdaAllowedFeature::GetObjectPartNumber,
"GetObject-Range" => ObjectLambdaAllowedFeature::GetObjectRange,
"HeadObject-PartNumber" => ObjectLambdaAllowedFeature::HeadObjectPartNumber,
"HeadObject-Range" => ObjectLambdaAllowedFeature::HeadObjectRange,
other => ObjectLambdaAllowedFeature::Unknown(crate::types::UnknownVariantValue(
other.to_owned(),
)),
}
}
}
impl std::str::FromStr for ObjectLambdaAllowedFeature {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ObjectLambdaAllowedFeature::from(s))
}
}
impl ObjectLambdaAllowedFeature {
pub fn as_str(&self) -> &str {
match self {
ObjectLambdaAllowedFeature::GetObjectPartNumber => "GetObject-PartNumber",
ObjectLambdaAllowedFeature::GetObjectRange => "GetObject-Range",
ObjectLambdaAllowedFeature::HeadObjectPartNumber => "HeadObject-PartNumber",
ObjectLambdaAllowedFeature::HeadObjectRange => "HeadObject-Range",
ObjectLambdaAllowedFeature::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"GetObject-PartNumber",
"GetObject-Range",
"HeadObject-PartNumber",
"HeadObject-Range",
]
}
}
impl AsRef<str> for ObjectLambdaAllowedFeature {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListStorageLensConfigurationEntry {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub storage_lens_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub home_region: std::option::Option<std::string::String>,
#[doc(hidden)]
pub is_enabled: bool,
}
impl ListStorageLensConfigurationEntry {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn storage_lens_arn(&self) -> std::option::Option<&str> {
self.storage_lens_arn.as_deref()
}
pub fn home_region(&self) -> std::option::Option<&str> {
self.home_region.as_deref()
}
pub fn is_enabled(&self) -> bool {
self.is_enabled
}
}
pub mod list_storage_lens_configuration_entry {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) storage_lens_arn: std::option::Option<std::string::String>,
pub(crate) home_region: std::option::Option<std::string::String>,
pub(crate) is_enabled: std::option::Option<bool>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn storage_lens_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.storage_lens_arn = Some(input.into());
self
}
pub fn set_storage_lens_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.storage_lens_arn = input;
self
}
pub fn home_region(mut self, input: impl Into<std::string::String>) -> Self {
self.home_region = Some(input.into());
self
}
pub fn set_home_region(mut self, input: std::option::Option<std::string::String>) -> Self {
self.home_region = input;
self
}
pub fn is_enabled(mut self, input: bool) -> Self {
self.is_enabled = Some(input);
self
}
pub fn set_is_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.is_enabled = input;
self
}
pub fn build(self) -> crate::model::ListStorageLensConfigurationEntry {
crate::model::ListStorageLensConfigurationEntry {
id: self.id,
storage_lens_arn: self.storage_lens_arn,
home_region: self.home_region,
is_enabled: self.is_enabled.unwrap_or_default(),
}
}
}
}
impl ListStorageLensConfigurationEntry {
pub fn builder() -> crate::model::list_storage_lens_configuration_entry::Builder {
crate::model::list_storage_lens_configuration_entry::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct RegionalBucket {
#[doc(hidden)]
pub bucket: std::option::Option<std::string::String>,
#[doc(hidden)]
pub bucket_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub public_access_block_enabled: bool,
#[doc(hidden)]
pub creation_date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub outpost_id: std::option::Option<std::string::String>,
}
impl RegionalBucket {
pub fn bucket(&self) -> std::option::Option<&str> {
self.bucket.as_deref()
}
pub fn bucket_arn(&self) -> std::option::Option<&str> {
self.bucket_arn.as_deref()
}
pub fn public_access_block_enabled(&self) -> bool {
self.public_access_block_enabled
}
pub fn creation_date(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_date.as_ref()
}
pub fn outpost_id(&self) -> std::option::Option<&str> {
self.outpost_id.as_deref()
}
}
pub mod regional_bucket {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket: std::option::Option<std::string::String>,
pub(crate) bucket_arn: std::option::Option<std::string::String>,
pub(crate) public_access_block_enabled: std::option::Option<bool>,
pub(crate) creation_date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) outpost_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket = Some(input.into());
self
}
pub fn set_bucket(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket = input;
self
}
pub fn bucket_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket_arn = Some(input.into());
self
}
pub fn set_bucket_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket_arn = input;
self
}
pub fn public_access_block_enabled(mut self, input: bool) -> Self {
self.public_access_block_enabled = Some(input);
self
}
pub fn set_public_access_block_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.public_access_block_enabled = input;
self
}
pub fn creation_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_date = Some(input);
self
}
pub fn set_creation_date(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_date = input;
self
}
pub fn outpost_id(mut self, input: impl Into<std::string::String>) -> Self {
self.outpost_id = Some(input.into());
self
}
pub fn set_outpost_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.outpost_id = input;
self
}
pub fn build(self) -> crate::model::RegionalBucket {
crate::model::RegionalBucket {
bucket: self.bucket,
bucket_arn: self.bucket_arn,
public_access_block_enabled: self.public_access_block_enabled.unwrap_or_default(),
creation_date: self.creation_date,
outpost_id: self.outpost_id,
}
}
}
}
impl RegionalBucket {
pub fn builder() -> crate::model::regional_bucket::Builder {
crate::model::regional_bucket::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct MultiRegionAccessPointReport {
#[doc(hidden)]
pub name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub alias: std::option::Option<std::string::String>,
#[doc(hidden)]
pub created_at: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub public_access_block: std::option::Option<crate::model::PublicAccessBlockConfiguration>,
#[doc(hidden)]
pub status: std::option::Option<crate::model::MultiRegionAccessPointStatus>,
#[doc(hidden)]
pub regions: std::option::Option<std::vec::Vec<crate::model::RegionReport>>,
}
impl MultiRegionAccessPointReport {
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn alias(&self) -> std::option::Option<&str> {
self.alias.as_deref()
}
pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.created_at.as_ref()
}
pub fn public_access_block(
&self,
) -> std::option::Option<&crate::model::PublicAccessBlockConfiguration> {
self.public_access_block.as_ref()
}
pub fn status(&self) -> std::option::Option<&crate::model::MultiRegionAccessPointStatus> {
self.status.as_ref()
}
pub fn regions(&self) -> std::option::Option<&[crate::model::RegionReport]> {
self.regions.as_deref()
}
}
pub mod multi_region_access_point_report {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) alias: std::option::Option<std::string::String>,
pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) public_access_block:
std::option::Option<crate::model::PublicAccessBlockConfiguration>,
pub(crate) status: std::option::Option<crate::model::MultiRegionAccessPointStatus>,
pub(crate) regions: std::option::Option<std::vec::Vec<crate::model::RegionReport>>,
}
impl Builder {
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.name = Some(input.into());
self
}
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.name = input;
self
}
pub fn alias(mut self, input: impl Into<std::string::String>) -> Self {
self.alias = Some(input.into());
self
}
pub fn set_alias(mut self, input: std::option::Option<std::string::String>) -> Self {
self.alias = input;
self
}
pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
self.created_at = Some(input);
self
}
pub fn set_created_at(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.created_at = input;
self
}
pub fn public_access_block(
mut self,
input: crate::model::PublicAccessBlockConfiguration,
) -> Self {
self.public_access_block = Some(input);
self
}
pub fn set_public_access_block(
mut self,
input: std::option::Option<crate::model::PublicAccessBlockConfiguration>,
) -> Self {
self.public_access_block = input;
self
}
pub fn status(mut self, input: crate::model::MultiRegionAccessPointStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::MultiRegionAccessPointStatus>,
) -> Self {
self.status = input;
self
}
pub fn regions(mut self, input: crate::model::RegionReport) -> Self {
let mut v = self.regions.unwrap_or_default();
v.push(input);
self.regions = Some(v);
self
}
pub fn set_regions(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::RegionReport>>,
) -> Self {
self.regions = input;
self
}
pub fn build(self) -> crate::model::MultiRegionAccessPointReport {
crate::model::MultiRegionAccessPointReport {
name: self.name,
alias: self.alias,
created_at: self.created_at,
public_access_block: self.public_access_block,
status: self.status,
regions: self.regions,
}
}
}
}
impl MultiRegionAccessPointReport {
pub fn builder() -> crate::model::multi_region_access_point_report::Builder {
crate::model::multi_region_access_point_report::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct RegionReport {
#[doc(hidden)]
pub bucket: std::option::Option<std::string::String>,
#[doc(hidden)]
pub region: std::option::Option<std::string::String>,
}
impl RegionReport {
pub fn bucket(&self) -> std::option::Option<&str> {
self.bucket.as_deref()
}
pub fn region(&self) -> std::option::Option<&str> {
self.region.as_deref()
}
}
pub mod region_report {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket: std::option::Option<std::string::String>,
pub(crate) region: std::option::Option<std::string::String>,
}
impl Builder {
pub fn bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket = Some(input.into());
self
}
pub fn set_bucket(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket = input;
self
}
pub fn region(mut self, input: impl Into<std::string::String>) -> Self {
self.region = Some(input.into());
self
}
pub fn set_region(mut self, input: std::option::Option<std::string::String>) -> Self {
self.region = input;
self
}
pub fn build(self) -> crate::model::RegionReport {
crate::model::RegionReport {
bucket: self.bucket,
region: self.region,
}
}
}
}
impl RegionReport {
pub fn builder() -> crate::model::region_report::Builder {
crate::model::region_report::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum MultiRegionAccessPointStatus {
#[allow(missing_docs)] Creating,
#[allow(missing_docs)] Deleting,
#[allow(missing_docs)] InconsistentAcrossRegions,
#[allow(missing_docs)] PartiallyCreated,
#[allow(missing_docs)] PartiallyDeleted,
#[allow(missing_docs)] Ready,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for MultiRegionAccessPointStatus {
fn from(s: &str) -> Self {
match s {
"CREATING" => MultiRegionAccessPointStatus::Creating,
"DELETING" => MultiRegionAccessPointStatus::Deleting,
"INCONSISTENT_ACROSS_REGIONS" => {
MultiRegionAccessPointStatus::InconsistentAcrossRegions
}
"PARTIALLY_CREATED" => MultiRegionAccessPointStatus::PartiallyCreated,
"PARTIALLY_DELETED" => MultiRegionAccessPointStatus::PartiallyDeleted,
"READY" => MultiRegionAccessPointStatus::Ready,
other => MultiRegionAccessPointStatus::Unknown(crate::types::UnknownVariantValue(
other.to_owned(),
)),
}
}
}
impl std::str::FromStr for MultiRegionAccessPointStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(MultiRegionAccessPointStatus::from(s))
}
}
impl MultiRegionAccessPointStatus {
pub fn as_str(&self) -> &str {
match self {
MultiRegionAccessPointStatus::Creating => "CREATING",
MultiRegionAccessPointStatus::Deleting => "DELETING",
MultiRegionAccessPointStatus::InconsistentAcrossRegions => {
"INCONSISTENT_ACROSS_REGIONS"
}
MultiRegionAccessPointStatus::PartiallyCreated => "PARTIALLY_CREATED",
MultiRegionAccessPointStatus::PartiallyDeleted => "PARTIALLY_DELETED",
MultiRegionAccessPointStatus::Ready => "READY",
MultiRegionAccessPointStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"CREATING",
"DELETING",
"INCONSISTENT_ACROSS_REGIONS",
"PARTIALLY_CREATED",
"PARTIALLY_DELETED",
"READY",
]
}
}
impl AsRef<str> for MultiRegionAccessPointStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobListDescriptor {
#[doc(hidden)]
pub job_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub operation: std::option::Option<crate::model::OperationName>,
#[doc(hidden)]
pub priority: i32,
#[doc(hidden)]
pub status: std::option::Option<crate::model::JobStatus>,
#[doc(hidden)]
pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub termination_date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub progress_summary: std::option::Option<crate::model::JobProgressSummary>,
}
impl JobListDescriptor {
pub fn job_id(&self) -> std::option::Option<&str> {
self.job_id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn operation(&self) -> std::option::Option<&crate::model::OperationName> {
self.operation.as_ref()
}
pub fn priority(&self) -> i32 {
self.priority
}
pub fn status(&self) -> std::option::Option<&crate::model::JobStatus> {
self.status.as_ref()
}
pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn termination_date(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.termination_date.as_ref()
}
pub fn progress_summary(&self) -> std::option::Option<&crate::model::JobProgressSummary> {
self.progress_summary.as_ref()
}
}
pub mod job_list_descriptor {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) job_id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) operation: std::option::Option<crate::model::OperationName>,
pub(crate) priority: std::option::Option<i32>,
pub(crate) status: std::option::Option<crate::model::JobStatus>,
pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) termination_date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) progress_summary: std::option::Option<crate::model::JobProgressSummary>,
}
impl Builder {
pub fn job_id(mut self, input: impl Into<std::string::String>) -> Self {
self.job_id = Some(input.into());
self
}
pub fn set_job_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.job_id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn operation(mut self, input: crate::model::OperationName) -> Self {
self.operation = Some(input);
self
}
pub fn set_operation(
mut self,
input: std::option::Option<crate::model::OperationName>,
) -> Self {
self.operation = input;
self
}
pub fn priority(mut self, input: i32) -> Self {
self.priority = Some(input);
self
}
pub fn set_priority(mut self, input: std::option::Option<i32>) -> Self {
self.priority = input;
self
}
pub fn status(mut self, input: crate::model::JobStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(mut self, input: std::option::Option<crate::model::JobStatus>) -> Self {
self.status = input;
self
}
pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_time = Some(input);
self
}
pub fn set_creation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn termination_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.termination_date = Some(input);
self
}
pub fn set_termination_date(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.termination_date = input;
self
}
pub fn progress_summary(mut self, input: crate::model::JobProgressSummary) -> Self {
self.progress_summary = Some(input);
self
}
pub fn set_progress_summary(
mut self,
input: std::option::Option<crate::model::JobProgressSummary>,
) -> Self {
self.progress_summary = input;
self
}
pub fn build(self) -> crate::model::JobListDescriptor {
crate::model::JobListDescriptor {
job_id: self.job_id,
description: self.description,
operation: self.operation,
priority: self.priority.unwrap_or_default(),
status: self.status,
creation_time: self.creation_time,
termination_date: self.termination_date,
progress_summary: self.progress_summary,
}
}
}
}
impl JobListDescriptor {
pub fn builder() -> crate::model::job_list_descriptor::Builder {
crate::model::job_list_descriptor::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobProgressSummary {
#[doc(hidden)]
pub total_number_of_tasks: std::option::Option<i64>,
#[doc(hidden)]
pub number_of_tasks_succeeded: std::option::Option<i64>,
#[doc(hidden)]
pub number_of_tasks_failed: std::option::Option<i64>,
#[doc(hidden)]
pub timers: std::option::Option<crate::model::JobTimers>,
}
impl JobProgressSummary {
pub fn total_number_of_tasks(&self) -> std::option::Option<i64> {
self.total_number_of_tasks
}
pub fn number_of_tasks_succeeded(&self) -> std::option::Option<i64> {
self.number_of_tasks_succeeded
}
pub fn number_of_tasks_failed(&self) -> std::option::Option<i64> {
self.number_of_tasks_failed
}
pub fn timers(&self) -> std::option::Option<&crate::model::JobTimers> {
self.timers.as_ref()
}
}
pub mod job_progress_summary {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) total_number_of_tasks: std::option::Option<i64>,
pub(crate) number_of_tasks_succeeded: std::option::Option<i64>,
pub(crate) number_of_tasks_failed: std::option::Option<i64>,
pub(crate) timers: std::option::Option<crate::model::JobTimers>,
}
impl Builder {
pub fn total_number_of_tasks(mut self, input: i64) -> Self {
self.total_number_of_tasks = Some(input);
self
}
pub fn set_total_number_of_tasks(mut self, input: std::option::Option<i64>) -> Self {
self.total_number_of_tasks = input;
self
}
pub fn number_of_tasks_succeeded(mut self, input: i64) -> Self {
self.number_of_tasks_succeeded = Some(input);
self
}
pub fn set_number_of_tasks_succeeded(mut self, input: std::option::Option<i64>) -> Self {
self.number_of_tasks_succeeded = input;
self
}
pub fn number_of_tasks_failed(mut self, input: i64) -> Self {
self.number_of_tasks_failed = Some(input);
self
}
pub fn set_number_of_tasks_failed(mut self, input: std::option::Option<i64>) -> Self {
self.number_of_tasks_failed = input;
self
}
pub fn timers(mut self, input: crate::model::JobTimers) -> Self {
self.timers = Some(input);
self
}
pub fn set_timers(mut self, input: std::option::Option<crate::model::JobTimers>) -> Self {
self.timers = input;
self
}
pub fn build(self) -> crate::model::JobProgressSummary {
crate::model::JobProgressSummary {
total_number_of_tasks: self.total_number_of_tasks,
number_of_tasks_succeeded: self.number_of_tasks_succeeded,
number_of_tasks_failed: self.number_of_tasks_failed,
timers: self.timers,
}
}
}
}
impl JobProgressSummary {
pub fn builder() -> crate::model::job_progress_summary::Builder {
crate::model::job_progress_summary::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobTimers {
#[doc(hidden)]
pub elapsed_time_in_active_seconds: std::option::Option<i64>,
}
impl JobTimers {
pub fn elapsed_time_in_active_seconds(&self) -> std::option::Option<i64> {
self.elapsed_time_in_active_seconds
}
}
pub mod job_timers {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) elapsed_time_in_active_seconds: std::option::Option<i64>,
}
impl Builder {
pub fn elapsed_time_in_active_seconds(mut self, input: i64) -> Self {
self.elapsed_time_in_active_seconds = Some(input);
self
}
pub fn set_elapsed_time_in_active_seconds(
mut self,
input: std::option::Option<i64>,
) -> Self {
self.elapsed_time_in_active_seconds = input;
self
}
pub fn build(self) -> crate::model::JobTimers {
crate::model::JobTimers {
elapsed_time_in_active_seconds: self.elapsed_time_in_active_seconds,
}
}
}
}
impl JobTimers {
pub fn builder() -> crate::model::job_timers::Builder {
crate::model::job_timers::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum OperationName {
#[allow(missing_docs)] LambdaInvoke,
#[allow(missing_docs)] S3DeleteObjectTagging,
#[allow(missing_docs)] S3InitiateRestoreObject,
#[allow(missing_docs)] S3PutObjectAcl,
#[allow(missing_docs)] S3PutObjectCopy,
#[allow(missing_docs)] S3PutObjectLegalHold,
#[allow(missing_docs)] S3PutObjectRetention,
#[allow(missing_docs)] S3PutObjectTagging,
#[allow(missing_docs)] S3ReplicateObject,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for OperationName {
fn from(s: &str) -> Self {
match s {
"LambdaInvoke" => OperationName::LambdaInvoke,
"S3DeleteObjectTagging" => OperationName::S3DeleteObjectTagging,
"S3InitiateRestoreObject" => OperationName::S3InitiateRestoreObject,
"S3PutObjectAcl" => OperationName::S3PutObjectAcl,
"S3PutObjectCopy" => OperationName::S3PutObjectCopy,
"S3PutObjectLegalHold" => OperationName::S3PutObjectLegalHold,
"S3PutObjectRetention" => OperationName::S3PutObjectRetention,
"S3PutObjectTagging" => OperationName::S3PutObjectTagging,
"S3ReplicateObject" => OperationName::S3ReplicateObject,
other => OperationName::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for OperationName {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(OperationName::from(s))
}
}
impl OperationName {
pub fn as_str(&self) -> &str {
match self {
OperationName::LambdaInvoke => "LambdaInvoke",
OperationName::S3DeleteObjectTagging => "S3DeleteObjectTagging",
OperationName::S3InitiateRestoreObject => "S3InitiateRestoreObject",
OperationName::S3PutObjectAcl => "S3PutObjectAcl",
OperationName::S3PutObjectCopy => "S3PutObjectCopy",
OperationName::S3PutObjectLegalHold => "S3PutObjectLegalHold",
OperationName::S3PutObjectRetention => "S3PutObjectRetention",
OperationName::S3PutObjectTagging => "S3PutObjectTagging",
OperationName::S3ReplicateObject => "S3ReplicateObject",
OperationName::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"LambdaInvoke",
"S3DeleteObjectTagging",
"S3InitiateRestoreObject",
"S3PutObjectAcl",
"S3PutObjectCopy",
"S3PutObjectLegalHold",
"S3PutObjectRetention",
"S3PutObjectTagging",
"S3ReplicateObject",
]
}
}
impl AsRef<str> for OperationName {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ObjectLambdaAccessPoint {
#[doc(hidden)]
pub name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub object_lambda_access_point_arn: std::option::Option<std::string::String>,
}
impl ObjectLambdaAccessPoint {
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn object_lambda_access_point_arn(&self) -> std::option::Option<&str> {
self.object_lambda_access_point_arn.as_deref()
}
}
pub mod object_lambda_access_point {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) object_lambda_access_point_arn: std::option::Option<std::string::String>,
}
impl Builder {
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.name = Some(input.into());
self
}
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.name = input;
self
}
pub fn object_lambda_access_point_arn(
mut self,
input: impl Into<std::string::String>,
) -> Self {
self.object_lambda_access_point_arn = Some(input.into());
self
}
pub fn set_object_lambda_access_point_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.object_lambda_access_point_arn = input;
self
}
pub fn build(self) -> crate::model::ObjectLambdaAccessPoint {
crate::model::ObjectLambdaAccessPoint {
name: self.name,
object_lambda_access_point_arn: self.object_lambda_access_point_arn,
}
}
}
}
impl ObjectLambdaAccessPoint {
pub fn builder() -> crate::model::object_lambda_access_point::Builder {
crate::model::object_lambda_access_point::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AccessPoint {
#[doc(hidden)]
pub name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub network_origin: std::option::Option<crate::model::NetworkOrigin>,
#[doc(hidden)]
pub vpc_configuration: std::option::Option<crate::model::VpcConfiguration>,
#[doc(hidden)]
pub bucket: std::option::Option<std::string::String>,
#[doc(hidden)]
pub access_point_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub alias: std::option::Option<std::string::String>,
#[doc(hidden)]
pub bucket_account_id: std::option::Option<std::string::String>,
}
impl AccessPoint {
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn network_origin(&self) -> std::option::Option<&crate::model::NetworkOrigin> {
self.network_origin.as_ref()
}
pub fn vpc_configuration(&self) -> std::option::Option<&crate::model::VpcConfiguration> {
self.vpc_configuration.as_ref()
}
pub fn bucket(&self) -> std::option::Option<&str> {
self.bucket.as_deref()
}
pub fn access_point_arn(&self) -> std::option::Option<&str> {
self.access_point_arn.as_deref()
}
pub fn alias(&self) -> std::option::Option<&str> {
self.alias.as_deref()
}
pub fn bucket_account_id(&self) -> std::option::Option<&str> {
self.bucket_account_id.as_deref()
}
}
pub mod access_point {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) network_origin: std::option::Option<crate::model::NetworkOrigin>,
pub(crate) vpc_configuration: std::option::Option<crate::model::VpcConfiguration>,
pub(crate) bucket: std::option::Option<std::string::String>,
pub(crate) access_point_arn: std::option::Option<std::string::String>,
pub(crate) alias: std::option::Option<std::string::String>,
pub(crate) bucket_account_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.name = Some(input.into());
self
}
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.name = input;
self
}
pub fn network_origin(mut self, input: crate::model::NetworkOrigin) -> Self {
self.network_origin = Some(input);
self
}
pub fn set_network_origin(
mut self,
input: std::option::Option<crate::model::NetworkOrigin>,
) -> Self {
self.network_origin = input;
self
}
pub fn vpc_configuration(mut self, input: crate::model::VpcConfiguration) -> Self {
self.vpc_configuration = Some(input);
self
}
pub fn set_vpc_configuration(
mut self,
input: std::option::Option<crate::model::VpcConfiguration>,
) -> Self {
self.vpc_configuration = input;
self
}
pub fn bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket = Some(input.into());
self
}
pub fn set_bucket(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket = input;
self
}
pub fn access_point_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.access_point_arn = Some(input.into());
self
}
pub fn set_access_point_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.access_point_arn = input;
self
}
pub fn alias(mut self, input: impl Into<std::string::String>) -> Self {
self.alias = Some(input.into());
self
}
pub fn set_alias(mut self, input: std::option::Option<std::string::String>) -> Self {
self.alias = input;
self
}
pub fn bucket_account_id(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket_account_id = Some(input.into());
self
}
pub fn set_bucket_account_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.bucket_account_id = input;
self
}
pub fn build(self) -> crate::model::AccessPoint {
crate::model::AccessPoint {
name: self.name,
network_origin: self.network_origin,
vpc_configuration: self.vpc_configuration,
bucket: self.bucket,
access_point_arn: self.access_point_arn,
alias: self.alias,
bucket_account_id: self.bucket_account_id,
}
}
}
}
impl AccessPoint {
pub fn builder() -> crate::model::access_point::Builder {
crate::model::access_point::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct VpcConfiguration {
#[doc(hidden)]
pub vpc_id: std::option::Option<std::string::String>,
}
impl VpcConfiguration {
pub fn vpc_id(&self) -> std::option::Option<&str> {
self.vpc_id.as_deref()
}
}
pub mod vpc_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) vpc_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn vpc_id(mut self, input: impl Into<std::string::String>) -> Self {
self.vpc_id = Some(input.into());
self
}
pub fn set_vpc_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.vpc_id = input;
self
}
pub fn build(self) -> crate::model::VpcConfiguration {
crate::model::VpcConfiguration {
vpc_id: self.vpc_id,
}
}
}
}
impl VpcConfiguration {
pub fn builder() -> crate::model::vpc_configuration::Builder {
crate::model::vpc_configuration::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum NetworkOrigin {
#[allow(missing_docs)] Internet,
#[allow(missing_docs)] Vpc,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for NetworkOrigin {
fn from(s: &str) -> Self {
match s {
"Internet" => NetworkOrigin::Internet,
"VPC" => NetworkOrigin::Vpc,
other => NetworkOrigin::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for NetworkOrigin {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(NetworkOrigin::from(s))
}
}
impl NetworkOrigin {
pub fn as_str(&self) -> &str {
match self {
NetworkOrigin::Internet => "Internet",
NetworkOrigin::Vpc => "VPC",
NetworkOrigin::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["Internet", "VPC"]
}
}
impl AsRef<str> for NetworkOrigin {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct PolicyStatus {
#[doc(hidden)]
pub is_public: bool,
}
impl PolicyStatus {
pub fn is_public(&self) -> bool {
self.is_public
}
}
pub mod policy_status {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) is_public: std::option::Option<bool>,
}
impl Builder {
pub fn is_public(mut self, input: bool) -> Self {
self.is_public = Some(input);
self
}
pub fn set_is_public(mut self, input: std::option::Option<bool>) -> Self {
self.is_public = input;
self
}
pub fn build(self) -> crate::model::PolicyStatus {
crate::model::PolicyStatus {
is_public: self.is_public.unwrap_or_default(),
}
}
}
}
impl PolicyStatus {
pub fn builder() -> crate::model::policy_status::Builder {
crate::model::policy_status::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct MultiRegionAccessPointPolicyDocument {
#[doc(hidden)]
pub established: std::option::Option<crate::model::EstablishedMultiRegionAccessPointPolicy>,
#[doc(hidden)]
pub proposed: std::option::Option<crate::model::ProposedMultiRegionAccessPointPolicy>,
}
impl MultiRegionAccessPointPolicyDocument {
pub fn established(
&self,
) -> std::option::Option<&crate::model::EstablishedMultiRegionAccessPointPolicy> {
self.established.as_ref()
}
pub fn proposed(
&self,
) -> std::option::Option<&crate::model::ProposedMultiRegionAccessPointPolicy> {
self.proposed.as_ref()
}
}
pub mod multi_region_access_point_policy_document {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) established:
std::option::Option<crate::model::EstablishedMultiRegionAccessPointPolicy>,
pub(crate) proposed:
std::option::Option<crate::model::ProposedMultiRegionAccessPointPolicy>,
}
impl Builder {
pub fn established(
mut self,
input: crate::model::EstablishedMultiRegionAccessPointPolicy,
) -> Self {
self.established = Some(input);
self
}
pub fn set_established(
mut self,
input: std::option::Option<crate::model::EstablishedMultiRegionAccessPointPolicy>,
) -> Self {
self.established = input;
self
}
pub fn proposed(
mut self,
input: crate::model::ProposedMultiRegionAccessPointPolicy,
) -> Self {
self.proposed = Some(input);
self
}
pub fn set_proposed(
mut self,
input: std::option::Option<crate::model::ProposedMultiRegionAccessPointPolicy>,
) -> Self {
self.proposed = input;
self
}
pub fn build(self) -> crate::model::MultiRegionAccessPointPolicyDocument {
crate::model::MultiRegionAccessPointPolicyDocument {
established: self.established,
proposed: self.proposed,
}
}
}
}
impl MultiRegionAccessPointPolicyDocument {
pub fn builder() -> crate::model::multi_region_access_point_policy_document::Builder {
crate::model::multi_region_access_point_policy_document::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ProposedMultiRegionAccessPointPolicy {
#[doc(hidden)]
pub policy: std::option::Option<std::string::String>,
}
impl ProposedMultiRegionAccessPointPolicy {
pub fn policy(&self) -> std::option::Option<&str> {
self.policy.as_deref()
}
}
pub mod proposed_multi_region_access_point_policy {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) policy: std::option::Option<std::string::String>,
}
impl Builder {
pub fn policy(mut self, input: impl Into<std::string::String>) -> Self {
self.policy = Some(input.into());
self
}
pub fn set_policy(mut self, input: std::option::Option<std::string::String>) -> Self {
self.policy = input;
self
}
pub fn build(self) -> crate::model::ProposedMultiRegionAccessPointPolicy {
crate::model::ProposedMultiRegionAccessPointPolicy {
policy: self.policy,
}
}
}
}
impl ProposedMultiRegionAccessPointPolicy {
pub fn builder() -> crate::model::proposed_multi_region_access_point_policy::Builder {
crate::model::proposed_multi_region_access_point_policy::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct EstablishedMultiRegionAccessPointPolicy {
#[doc(hidden)]
pub policy: std::option::Option<std::string::String>,
}
impl EstablishedMultiRegionAccessPointPolicy {
pub fn policy(&self) -> std::option::Option<&str> {
self.policy.as_deref()
}
}
pub mod established_multi_region_access_point_policy {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) policy: std::option::Option<std::string::String>,
}
impl Builder {
pub fn policy(mut self, input: impl Into<std::string::String>) -> Self {
self.policy = Some(input.into());
self
}
pub fn set_policy(mut self, input: std::option::Option<std::string::String>) -> Self {
self.policy = input;
self
}
pub fn build(self) -> crate::model::EstablishedMultiRegionAccessPointPolicy {
crate::model::EstablishedMultiRegionAccessPointPolicy {
policy: self.policy,
}
}
}
}
impl EstablishedMultiRegionAccessPointPolicy {
pub fn builder() -> crate::model::established_multi_region_access_point_policy::Builder {
crate::model::established_multi_region_access_point_policy::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum MfaDeleteStatus {
#[allow(missing_docs)] Disabled,
#[allow(missing_docs)] Enabled,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for MfaDeleteStatus {
fn from(s: &str) -> Self {
match s {
"Disabled" => MfaDeleteStatus::Disabled,
"Enabled" => MfaDeleteStatus::Enabled,
other => MfaDeleteStatus::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for MfaDeleteStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(MfaDeleteStatus::from(s))
}
}
impl MfaDeleteStatus {
pub fn as_str(&self) -> &str {
match self {
MfaDeleteStatus::Disabled => "Disabled",
MfaDeleteStatus::Enabled => "Enabled",
MfaDeleteStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["Disabled", "Enabled"]
}
}
impl AsRef<str> for MfaDeleteStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AsyncOperation {
#[doc(hidden)]
pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub operation: std::option::Option<crate::model::AsyncOperationName>,
#[doc(hidden)]
pub request_token_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub request_parameters: std::option::Option<crate::model::AsyncRequestParameters>,
#[doc(hidden)]
pub request_status: std::option::Option<std::string::String>,
#[doc(hidden)]
pub response_details: std::option::Option<crate::model::AsyncResponseDetails>,
}
impl AsyncOperation {
pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn operation(&self) -> std::option::Option<&crate::model::AsyncOperationName> {
self.operation.as_ref()
}
pub fn request_token_arn(&self) -> std::option::Option<&str> {
self.request_token_arn.as_deref()
}
pub fn request_parameters(&self) -> std::option::Option<&crate::model::AsyncRequestParameters> {
self.request_parameters.as_ref()
}
pub fn request_status(&self) -> std::option::Option<&str> {
self.request_status.as_deref()
}
pub fn response_details(&self) -> std::option::Option<&crate::model::AsyncResponseDetails> {
self.response_details.as_ref()
}
}
pub mod async_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) operation: std::option::Option<crate::model::AsyncOperationName>,
pub(crate) request_token_arn: std::option::Option<std::string::String>,
pub(crate) request_parameters: std::option::Option<crate::model::AsyncRequestParameters>,
pub(crate) request_status: std::option::Option<std::string::String>,
pub(crate) response_details: std::option::Option<crate::model::AsyncResponseDetails>,
}
impl Builder {
pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_time = Some(input);
self
}
pub fn set_creation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn operation(mut self, input: crate::model::AsyncOperationName) -> Self {
self.operation = Some(input);
self
}
pub fn set_operation(
mut self,
input: std::option::Option<crate::model::AsyncOperationName>,
) -> Self {
self.operation = input;
self
}
pub fn request_token_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.request_token_arn = Some(input.into());
self
}
pub fn set_request_token_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.request_token_arn = input;
self
}
pub fn request_parameters(mut self, input: crate::model::AsyncRequestParameters) -> Self {
self.request_parameters = Some(input);
self
}
pub fn set_request_parameters(
mut self,
input: std::option::Option<crate::model::AsyncRequestParameters>,
) -> Self {
self.request_parameters = input;
self
}
pub fn request_status(mut self, input: impl Into<std::string::String>) -> Self {
self.request_status = Some(input.into());
self
}
pub fn set_request_status(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.request_status = input;
self
}
pub fn response_details(mut self, input: crate::model::AsyncResponseDetails) -> Self {
self.response_details = Some(input);
self
}
pub fn set_response_details(
mut self,
input: std::option::Option<crate::model::AsyncResponseDetails>,
) -> Self {
self.response_details = input;
self
}
pub fn build(self) -> crate::model::AsyncOperation {
crate::model::AsyncOperation {
creation_time: self.creation_time,
operation: self.operation,
request_token_arn: self.request_token_arn,
request_parameters: self.request_parameters,
request_status: self.request_status,
response_details: self.response_details,
}
}
}
}
impl AsyncOperation {
pub fn builder() -> crate::model::async_operation::Builder {
crate::model::async_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AsyncResponseDetails {
#[doc(hidden)]
pub multi_region_access_point_details:
std::option::Option<crate::model::MultiRegionAccessPointsAsyncResponse>,
#[doc(hidden)]
pub error_details: std::option::Option<crate::model::AsyncErrorDetails>,
}
impl AsyncResponseDetails {
pub fn multi_region_access_point_details(
&self,
) -> std::option::Option<&crate::model::MultiRegionAccessPointsAsyncResponse> {
self.multi_region_access_point_details.as_ref()
}
pub fn error_details(&self) -> std::option::Option<&crate::model::AsyncErrorDetails> {
self.error_details.as_ref()
}
}
pub mod async_response_details {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) multi_region_access_point_details:
std::option::Option<crate::model::MultiRegionAccessPointsAsyncResponse>,
pub(crate) error_details: std::option::Option<crate::model::AsyncErrorDetails>,
}
impl Builder {
pub fn multi_region_access_point_details(
mut self,
input: crate::model::MultiRegionAccessPointsAsyncResponse,
) -> Self {
self.multi_region_access_point_details = Some(input);
self
}
pub fn set_multi_region_access_point_details(
mut self,
input: std::option::Option<crate::model::MultiRegionAccessPointsAsyncResponse>,
) -> Self {
self.multi_region_access_point_details = input;
self
}
pub fn error_details(mut self, input: crate::model::AsyncErrorDetails) -> Self {
self.error_details = Some(input);
self
}
pub fn set_error_details(
mut self,
input: std::option::Option<crate::model::AsyncErrorDetails>,
) -> Self {
self.error_details = input;
self
}
pub fn build(self) -> crate::model::AsyncResponseDetails {
crate::model::AsyncResponseDetails {
multi_region_access_point_details: self.multi_region_access_point_details,
error_details: self.error_details,
}
}
}
}
impl AsyncResponseDetails {
pub fn builder() -> crate::model::async_response_details::Builder {
crate::model::async_response_details::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AsyncErrorDetails {
#[doc(hidden)]
pub code: std::option::Option<std::string::String>,
#[doc(hidden)]
pub message: std::option::Option<std::string::String>,
#[doc(hidden)]
pub resource: std::option::Option<std::string::String>,
#[doc(hidden)]
pub request_id: std::option::Option<std::string::String>,
}
impl AsyncErrorDetails {
pub fn code(&self) -> std::option::Option<&str> {
self.code.as_deref()
}
pub fn message(&self) -> std::option::Option<&str> {
self.message.as_deref()
}
pub fn resource(&self) -> std::option::Option<&str> {
self.resource.as_deref()
}
pub fn request_id(&self) -> std::option::Option<&str> {
self.request_id.as_deref()
}
}
pub mod async_error_details {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) code: std::option::Option<std::string::String>,
pub(crate) message: std::option::Option<std::string::String>,
pub(crate) resource: std::option::Option<std::string::String>,
pub(crate) request_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn code(mut self, input: impl Into<std::string::String>) -> Self {
self.code = Some(input.into());
self
}
pub fn set_code(mut self, input: std::option::Option<std::string::String>) -> Self {
self.code = input;
self
}
pub fn message(mut self, input: impl Into<std::string::String>) -> Self {
self.message = Some(input.into());
self
}
pub fn set_message(mut self, input: std::option::Option<std::string::String>) -> Self {
self.message = input;
self
}
pub fn resource(mut self, input: impl Into<std::string::String>) -> Self {
self.resource = Some(input.into());
self
}
pub fn set_resource(mut self, input: std::option::Option<std::string::String>) -> Self {
self.resource = input;
self
}
pub fn request_id(mut self, input: impl Into<std::string::String>) -> Self {
self.request_id = Some(input.into());
self
}
pub fn set_request_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.request_id = input;
self
}
pub fn build(self) -> crate::model::AsyncErrorDetails {
crate::model::AsyncErrorDetails {
code: self.code,
message: self.message,
resource: self.resource,
request_id: self.request_id,
}
}
}
}
impl AsyncErrorDetails {
pub fn builder() -> crate::model::async_error_details::Builder {
crate::model::async_error_details::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct MultiRegionAccessPointsAsyncResponse {
#[doc(hidden)]
pub regions:
std::option::Option<std::vec::Vec<crate::model::MultiRegionAccessPointRegionalResponse>>,
}
impl MultiRegionAccessPointsAsyncResponse {
pub fn regions(
&self,
) -> std::option::Option<&[crate::model::MultiRegionAccessPointRegionalResponse]> {
self.regions.as_deref()
}
}
pub mod multi_region_access_points_async_response {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) regions: std::option::Option<
std::vec::Vec<crate::model::MultiRegionAccessPointRegionalResponse>,
>,
}
impl Builder {
pub fn regions(
mut self,
input: crate::model::MultiRegionAccessPointRegionalResponse,
) -> Self {
let mut v = self.regions.unwrap_or_default();
v.push(input);
self.regions = Some(v);
self
}
pub fn set_regions(
mut self,
input: std::option::Option<
std::vec::Vec<crate::model::MultiRegionAccessPointRegionalResponse>,
>,
) -> Self {
self.regions = input;
self
}
pub fn build(self) -> crate::model::MultiRegionAccessPointsAsyncResponse {
crate::model::MultiRegionAccessPointsAsyncResponse {
regions: self.regions,
}
}
}
}
impl MultiRegionAccessPointsAsyncResponse {
pub fn builder() -> crate::model::multi_region_access_points_async_response::Builder {
crate::model::multi_region_access_points_async_response::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct MultiRegionAccessPointRegionalResponse {
#[doc(hidden)]
pub name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub request_status: std::option::Option<std::string::String>,
}
impl MultiRegionAccessPointRegionalResponse {
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn request_status(&self) -> std::option::Option<&str> {
self.request_status.as_deref()
}
}
pub mod multi_region_access_point_regional_response {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) request_status: std::option::Option<std::string::String>,
}
impl Builder {
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.name = Some(input.into());
self
}
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.name = input;
self
}
pub fn request_status(mut self, input: impl Into<std::string::String>) -> Self {
self.request_status = Some(input.into());
self
}
pub fn set_request_status(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.request_status = input;
self
}
pub fn build(self) -> crate::model::MultiRegionAccessPointRegionalResponse {
crate::model::MultiRegionAccessPointRegionalResponse {
name: self.name,
request_status: self.request_status,
}
}
}
}
impl MultiRegionAccessPointRegionalResponse {
pub fn builder() -> crate::model::multi_region_access_point_regional_response::Builder {
crate::model::multi_region_access_point_regional_response::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AsyncRequestParameters {
#[doc(hidden)]
pub create_multi_region_access_point_request:
std::option::Option<crate::model::CreateMultiRegionAccessPointInput>,
#[doc(hidden)]
pub delete_multi_region_access_point_request:
std::option::Option<crate::model::DeleteMultiRegionAccessPointInput>,
#[doc(hidden)]
pub put_multi_region_access_point_policy_request:
std::option::Option<crate::model::PutMultiRegionAccessPointPolicyInput>,
}
impl AsyncRequestParameters {
pub fn create_multi_region_access_point_request(
&self,
) -> std::option::Option<&crate::model::CreateMultiRegionAccessPointInput> {
self.create_multi_region_access_point_request.as_ref()
}
pub fn delete_multi_region_access_point_request(
&self,
) -> std::option::Option<&crate::model::DeleteMultiRegionAccessPointInput> {
self.delete_multi_region_access_point_request.as_ref()
}
pub fn put_multi_region_access_point_policy_request(
&self,
) -> std::option::Option<&crate::model::PutMultiRegionAccessPointPolicyInput> {
self.put_multi_region_access_point_policy_request.as_ref()
}
}
pub mod async_request_parameters {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) create_multi_region_access_point_request:
std::option::Option<crate::model::CreateMultiRegionAccessPointInput>,
pub(crate) delete_multi_region_access_point_request:
std::option::Option<crate::model::DeleteMultiRegionAccessPointInput>,
pub(crate) put_multi_region_access_point_policy_request:
std::option::Option<crate::model::PutMultiRegionAccessPointPolicyInput>,
}
impl Builder {
pub fn create_multi_region_access_point_request(
mut self,
input: crate::model::CreateMultiRegionAccessPointInput,
) -> Self {
self.create_multi_region_access_point_request = Some(input);
self
}
pub fn set_create_multi_region_access_point_request(
mut self,
input: std::option::Option<crate::model::CreateMultiRegionAccessPointInput>,
) -> Self {
self.create_multi_region_access_point_request = input;
self
}
pub fn delete_multi_region_access_point_request(
mut self,
input: crate::model::DeleteMultiRegionAccessPointInput,
) -> Self {
self.delete_multi_region_access_point_request = Some(input);
self
}
pub fn set_delete_multi_region_access_point_request(
mut self,
input: std::option::Option<crate::model::DeleteMultiRegionAccessPointInput>,
) -> Self {
self.delete_multi_region_access_point_request = input;
self
}
pub fn put_multi_region_access_point_policy_request(
mut self,
input: crate::model::PutMultiRegionAccessPointPolicyInput,
) -> Self {
self.put_multi_region_access_point_policy_request = Some(input);
self
}
pub fn set_put_multi_region_access_point_policy_request(
mut self,
input: std::option::Option<crate::model::PutMultiRegionAccessPointPolicyInput>,
) -> Self {
self.put_multi_region_access_point_policy_request = input;
self
}
pub fn build(self) -> crate::model::AsyncRequestParameters {
crate::model::AsyncRequestParameters {
create_multi_region_access_point_request: self
.create_multi_region_access_point_request,
delete_multi_region_access_point_request: self
.delete_multi_region_access_point_request,
put_multi_region_access_point_policy_request: self
.put_multi_region_access_point_policy_request,
}
}
}
}
impl AsyncRequestParameters {
pub fn builder() -> crate::model::async_request_parameters::Builder {
crate::model::async_request_parameters::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DeleteMultiRegionAccessPointInput {
#[doc(hidden)]
pub name: std::option::Option<std::string::String>,
}
impl DeleteMultiRegionAccessPointInput {
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
}
pub mod delete_multi_region_access_point_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) name: std::option::Option<std::string::String>,
}
impl Builder {
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.name = Some(input.into());
self
}
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.name = input;
self
}
pub fn build(self) -> crate::model::DeleteMultiRegionAccessPointInput {
crate::model::DeleteMultiRegionAccessPointInput { name: self.name }
}
}
}
impl DeleteMultiRegionAccessPointInput {
pub fn builder() -> crate::model::delete_multi_region_access_point_input::Builder {
crate::model::delete_multi_region_access_point_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateMultiRegionAccessPointInput {
#[doc(hidden)]
pub name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub public_access_block: std::option::Option<crate::model::PublicAccessBlockConfiguration>,
#[doc(hidden)]
pub regions: std::option::Option<std::vec::Vec<crate::model::Region>>,
}
impl CreateMultiRegionAccessPointInput {
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn public_access_block(
&self,
) -> std::option::Option<&crate::model::PublicAccessBlockConfiguration> {
self.public_access_block.as_ref()
}
pub fn regions(&self) -> std::option::Option<&[crate::model::Region]> {
self.regions.as_deref()
}
}
pub mod create_multi_region_access_point_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) public_access_block:
std::option::Option<crate::model::PublicAccessBlockConfiguration>,
pub(crate) regions: std::option::Option<std::vec::Vec<crate::model::Region>>,
}
impl Builder {
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.name = Some(input.into());
self
}
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.name = input;
self
}
pub fn public_access_block(
mut self,
input: crate::model::PublicAccessBlockConfiguration,
) -> Self {
self.public_access_block = Some(input);
self
}
pub fn set_public_access_block(
mut self,
input: std::option::Option<crate::model::PublicAccessBlockConfiguration>,
) -> Self {
self.public_access_block = input;
self
}
pub fn regions(mut self, input: crate::model::Region) -> Self {
let mut v = self.regions.unwrap_or_default();
v.push(input);
self.regions = Some(v);
self
}
pub fn set_regions(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::Region>>,
) -> Self {
self.regions = input;
self
}
pub fn build(self) -> crate::model::CreateMultiRegionAccessPointInput {
crate::model::CreateMultiRegionAccessPointInput {
name: self.name,
public_access_block: self.public_access_block,
regions: self.regions,
}
}
}
}
impl CreateMultiRegionAccessPointInput {
pub fn builder() -> crate::model::create_multi_region_access_point_input::Builder {
crate::model::create_multi_region_access_point_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Region {
#[doc(hidden)]
pub bucket: std::option::Option<std::string::String>,
}
impl Region {
pub fn bucket(&self) -> std::option::Option<&str> {
self.bucket.as_deref()
}
}
pub mod region {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket: std::option::Option<std::string::String>,
}
impl Builder {
pub fn bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket = Some(input.into());
self
}
pub fn set_bucket(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket = input;
self
}
pub fn build(self) -> crate::model::Region {
crate::model::Region {
bucket: self.bucket,
}
}
}
}
impl Region {
pub fn builder() -> crate::model::region::Builder {
crate::model::region::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum AsyncOperationName {
#[allow(missing_docs)] CreateMultiRegionAccessPoint,
#[allow(missing_docs)] DeleteMultiRegionAccessPoint,
#[allow(missing_docs)] PutMultiRegionAccessPointPolicy,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for AsyncOperationName {
fn from(s: &str) -> Self {
match s {
"CreateMultiRegionAccessPoint" => AsyncOperationName::CreateMultiRegionAccessPoint,
"DeleteMultiRegionAccessPoint" => AsyncOperationName::DeleteMultiRegionAccessPoint,
"PutMultiRegionAccessPointPolicy" => {
AsyncOperationName::PutMultiRegionAccessPointPolicy
}
other => {
AsyncOperationName::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for AsyncOperationName {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AsyncOperationName::from(s))
}
}
impl AsyncOperationName {
pub fn as_str(&self) -> &str {
match self {
AsyncOperationName::CreateMultiRegionAccessPoint => "CreateMultiRegionAccessPoint",
AsyncOperationName::DeleteMultiRegionAccessPoint => "DeleteMultiRegionAccessPoint",
AsyncOperationName::PutMultiRegionAccessPointPolicy => {
"PutMultiRegionAccessPointPolicy"
}
AsyncOperationName::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"CreateMultiRegionAccessPoint",
"DeleteMultiRegionAccessPoint",
"PutMultiRegionAccessPointPolicy",
]
}
}
impl AsRef<str> for AsyncOperationName {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobDescriptor {
#[doc(hidden)]
pub job_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub confirmation_required: std::option::Option<bool>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub job_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub status: std::option::Option<crate::model::JobStatus>,
#[doc(hidden)]
pub manifest: std::option::Option<crate::model::JobManifest>,
#[doc(hidden)]
pub operation: std::option::Option<crate::model::JobOperation>,
#[doc(hidden)]
pub priority: i32,
#[doc(hidden)]
pub progress_summary: std::option::Option<crate::model::JobProgressSummary>,
#[doc(hidden)]
pub status_update_reason: std::option::Option<std::string::String>,
#[doc(hidden)]
pub failure_reasons: std::option::Option<std::vec::Vec<crate::model::JobFailure>>,
#[doc(hidden)]
pub report: std::option::Option<crate::model::JobReport>,
#[doc(hidden)]
pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub termination_date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub role_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub suspended_date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub suspended_cause: std::option::Option<std::string::String>,
#[doc(hidden)]
pub manifest_generator: std::option::Option<crate::model::JobManifestGenerator>,
#[doc(hidden)]
pub generated_manifest_descriptor:
std::option::Option<crate::model::S3GeneratedManifestDescriptor>,
}
impl JobDescriptor {
pub fn job_id(&self) -> std::option::Option<&str> {
self.job_id.as_deref()
}
pub fn confirmation_required(&self) -> std::option::Option<bool> {
self.confirmation_required
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn job_arn(&self) -> std::option::Option<&str> {
self.job_arn.as_deref()
}
pub fn status(&self) -> std::option::Option<&crate::model::JobStatus> {
self.status.as_ref()
}
pub fn manifest(&self) -> std::option::Option<&crate::model::JobManifest> {
self.manifest.as_ref()
}
pub fn operation(&self) -> std::option::Option<&crate::model::JobOperation> {
self.operation.as_ref()
}
pub fn priority(&self) -> i32 {
self.priority
}
pub fn progress_summary(&self) -> std::option::Option<&crate::model::JobProgressSummary> {
self.progress_summary.as_ref()
}
pub fn status_update_reason(&self) -> std::option::Option<&str> {
self.status_update_reason.as_deref()
}
pub fn failure_reasons(&self) -> std::option::Option<&[crate::model::JobFailure]> {
self.failure_reasons.as_deref()
}
pub fn report(&self) -> std::option::Option<&crate::model::JobReport> {
self.report.as_ref()
}
pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn termination_date(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.termination_date.as_ref()
}
pub fn role_arn(&self) -> std::option::Option<&str> {
self.role_arn.as_deref()
}
pub fn suspended_date(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.suspended_date.as_ref()
}
pub fn suspended_cause(&self) -> std::option::Option<&str> {
self.suspended_cause.as_deref()
}
pub fn manifest_generator(&self) -> std::option::Option<&crate::model::JobManifestGenerator> {
self.manifest_generator.as_ref()
}
pub fn generated_manifest_descriptor(
&self,
) -> std::option::Option<&crate::model::S3GeneratedManifestDescriptor> {
self.generated_manifest_descriptor.as_ref()
}
}
pub mod job_descriptor {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) job_id: std::option::Option<std::string::String>,
pub(crate) confirmation_required: std::option::Option<bool>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) job_arn: std::option::Option<std::string::String>,
pub(crate) status: std::option::Option<crate::model::JobStatus>,
pub(crate) manifest: std::option::Option<crate::model::JobManifest>,
pub(crate) operation: std::option::Option<crate::model::JobOperation>,
pub(crate) priority: std::option::Option<i32>,
pub(crate) progress_summary: std::option::Option<crate::model::JobProgressSummary>,
pub(crate) status_update_reason: std::option::Option<std::string::String>,
pub(crate) failure_reasons: std::option::Option<std::vec::Vec<crate::model::JobFailure>>,
pub(crate) report: std::option::Option<crate::model::JobReport>,
pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) termination_date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) role_arn: std::option::Option<std::string::String>,
pub(crate) suspended_date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) suspended_cause: std::option::Option<std::string::String>,
pub(crate) manifest_generator: std::option::Option<crate::model::JobManifestGenerator>,
pub(crate) generated_manifest_descriptor:
std::option::Option<crate::model::S3GeneratedManifestDescriptor>,
}
impl Builder {
pub fn job_id(mut self, input: impl Into<std::string::String>) -> Self {
self.job_id = Some(input.into());
self
}
pub fn set_job_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.job_id = input;
self
}
pub fn confirmation_required(mut self, input: bool) -> Self {
self.confirmation_required = Some(input);
self
}
pub fn set_confirmation_required(mut self, input: std::option::Option<bool>) -> Self {
self.confirmation_required = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn job_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.job_arn = Some(input.into());
self
}
pub fn set_job_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.job_arn = input;
self
}
pub fn status(mut self, input: crate::model::JobStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(mut self, input: std::option::Option<crate::model::JobStatus>) -> Self {
self.status = input;
self
}
pub fn manifest(mut self, input: crate::model::JobManifest) -> Self {
self.manifest = Some(input);
self
}
pub fn set_manifest(
mut self,
input: std::option::Option<crate::model::JobManifest>,
) -> Self {
self.manifest = input;
self
}
pub fn operation(mut self, input: crate::model::JobOperation) -> Self {
self.operation = Some(input);
self
}
pub fn set_operation(
mut self,
input: std::option::Option<crate::model::JobOperation>,
) -> Self {
self.operation = input;
self
}
pub fn priority(mut self, input: i32) -> Self {
self.priority = Some(input);
self
}
pub fn set_priority(mut self, input: std::option::Option<i32>) -> Self {
self.priority = input;
self
}
pub fn progress_summary(mut self, input: crate::model::JobProgressSummary) -> Self {
self.progress_summary = Some(input);
self
}
pub fn set_progress_summary(
mut self,
input: std::option::Option<crate::model::JobProgressSummary>,
) -> Self {
self.progress_summary = input;
self
}
pub fn status_update_reason(mut self, input: impl Into<std::string::String>) -> Self {
self.status_update_reason = Some(input.into());
self
}
pub fn set_status_update_reason(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.status_update_reason = input;
self
}
pub fn failure_reasons(mut self, input: crate::model::JobFailure) -> Self {
let mut v = self.failure_reasons.unwrap_or_default();
v.push(input);
self.failure_reasons = Some(v);
self
}
pub fn set_failure_reasons(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::JobFailure>>,
) -> Self {
self.failure_reasons = input;
self
}
pub fn report(mut self, input: crate::model::JobReport) -> Self {
self.report = Some(input);
self
}
pub fn set_report(mut self, input: std::option::Option<crate::model::JobReport>) -> Self {
self.report = input;
self
}
pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_time = Some(input);
self
}
pub fn set_creation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn termination_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.termination_date = Some(input);
self
}
pub fn set_termination_date(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.termination_date = input;
self
}
pub fn role_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.role_arn = Some(input.into());
self
}
pub fn set_role_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.role_arn = input;
self
}
pub fn suspended_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.suspended_date = Some(input);
self
}
pub fn set_suspended_date(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.suspended_date = input;
self
}
pub fn suspended_cause(mut self, input: impl Into<std::string::String>) -> Self {
self.suspended_cause = Some(input.into());
self
}
pub fn set_suspended_cause(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.suspended_cause = input;
self
}
pub fn manifest_generator(mut self, input: crate::model::JobManifestGenerator) -> Self {
self.manifest_generator = Some(input);
self
}
pub fn set_manifest_generator(
mut self,
input: std::option::Option<crate::model::JobManifestGenerator>,
) -> Self {
self.manifest_generator = input;
self
}
pub fn generated_manifest_descriptor(
mut self,
input: crate::model::S3GeneratedManifestDescriptor,
) -> Self {
self.generated_manifest_descriptor = Some(input);
self
}
pub fn set_generated_manifest_descriptor(
mut self,
input: std::option::Option<crate::model::S3GeneratedManifestDescriptor>,
) -> Self {
self.generated_manifest_descriptor = input;
self
}
pub fn build(self) -> crate::model::JobDescriptor {
crate::model::JobDescriptor {
job_id: self.job_id,
confirmation_required: self.confirmation_required,
description: self.description,
job_arn: self.job_arn,
status: self.status,
manifest: self.manifest,
operation: self.operation,
priority: self.priority.unwrap_or_default(),
progress_summary: self.progress_summary,
status_update_reason: self.status_update_reason,
failure_reasons: self.failure_reasons,
report: self.report,
creation_time: self.creation_time,
termination_date: self.termination_date,
role_arn: self.role_arn,
suspended_date: self.suspended_date,
suspended_cause: self.suspended_cause,
manifest_generator: self.manifest_generator,
generated_manifest_descriptor: self.generated_manifest_descriptor,
}
}
}
}
impl JobDescriptor {
pub fn builder() -> crate::model::job_descriptor::Builder {
crate::model::job_descriptor::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3GeneratedManifestDescriptor {
#[doc(hidden)]
pub format: std::option::Option<crate::model::GeneratedManifestFormat>,
#[doc(hidden)]
pub location: std::option::Option<crate::model::JobManifestLocation>,
}
impl S3GeneratedManifestDescriptor {
pub fn format(&self) -> std::option::Option<&crate::model::GeneratedManifestFormat> {
self.format.as_ref()
}
pub fn location(&self) -> std::option::Option<&crate::model::JobManifestLocation> {
self.location.as_ref()
}
}
pub mod s3_generated_manifest_descriptor {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) format: std::option::Option<crate::model::GeneratedManifestFormat>,
pub(crate) location: std::option::Option<crate::model::JobManifestLocation>,
}
impl Builder {
pub fn format(mut self, input: crate::model::GeneratedManifestFormat) -> Self {
self.format = Some(input);
self
}
pub fn set_format(
mut self,
input: std::option::Option<crate::model::GeneratedManifestFormat>,
) -> Self {
self.format = input;
self
}
pub fn location(mut self, input: crate::model::JobManifestLocation) -> Self {
self.location = Some(input);
self
}
pub fn set_location(
mut self,
input: std::option::Option<crate::model::JobManifestLocation>,
) -> Self {
self.location = input;
self
}
pub fn build(self) -> crate::model::S3GeneratedManifestDescriptor {
crate::model::S3GeneratedManifestDescriptor {
format: self.format,
location: self.location,
}
}
}
}
impl S3GeneratedManifestDescriptor {
pub fn builder() -> crate::model::s3_generated_manifest_descriptor::Builder {
crate::model::s3_generated_manifest_descriptor::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobManifestLocation {
#[doc(hidden)]
pub object_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub object_version_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub e_tag: std::option::Option<std::string::String>,
}
impl JobManifestLocation {
pub fn object_arn(&self) -> std::option::Option<&str> {
self.object_arn.as_deref()
}
pub fn object_version_id(&self) -> std::option::Option<&str> {
self.object_version_id.as_deref()
}
pub fn e_tag(&self) -> std::option::Option<&str> {
self.e_tag.as_deref()
}
}
pub mod job_manifest_location {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) object_arn: std::option::Option<std::string::String>,
pub(crate) object_version_id: std::option::Option<std::string::String>,
pub(crate) e_tag: std::option::Option<std::string::String>,
}
impl Builder {
pub fn object_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.object_arn = Some(input.into());
self
}
pub fn set_object_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.object_arn = input;
self
}
pub fn object_version_id(mut self, input: impl Into<std::string::String>) -> Self {
self.object_version_id = Some(input.into());
self
}
pub fn set_object_version_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.object_version_id = input;
self
}
pub fn e_tag(mut self, input: impl Into<std::string::String>) -> Self {
self.e_tag = Some(input.into());
self
}
pub fn set_e_tag(mut self, input: std::option::Option<std::string::String>) -> Self {
self.e_tag = input;
self
}
pub fn build(self) -> crate::model::JobManifestLocation {
crate::model::JobManifestLocation {
object_arn: self.object_arn,
object_version_id: self.object_version_id,
e_tag: self.e_tag,
}
}
}
}
impl JobManifestLocation {
pub fn builder() -> crate::model::job_manifest_location::Builder {
crate::model::job_manifest_location::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum GeneratedManifestFormat {
#[allow(missing_docs)] S3InventoryReportCsv20211130,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for GeneratedManifestFormat {
fn from(s: &str) -> Self {
match s {
"S3InventoryReport_CSV_20211130" => {
GeneratedManifestFormat::S3InventoryReportCsv20211130
}
other => GeneratedManifestFormat::Unknown(crate::types::UnknownVariantValue(
other.to_owned(),
)),
}
}
}
impl std::str::FromStr for GeneratedManifestFormat {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(GeneratedManifestFormat::from(s))
}
}
impl GeneratedManifestFormat {
pub fn as_str(&self) -> &str {
match self {
GeneratedManifestFormat::S3InventoryReportCsv20211130 => {
"S3InventoryReport_CSV_20211130"
}
GeneratedManifestFormat::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["S3InventoryReport_CSV_20211130"]
}
}
impl AsRef<str> for GeneratedManifestFormat {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub enum JobManifestGenerator {
S3JobManifestGenerator(crate::model::S3JobManifestGenerator),
#[non_exhaustive]
Unknown,
}
impl JobManifestGenerator {
#[allow(irrefutable_let_patterns)]
pub fn as_s3_job_manifest_generator(
&self,
) -> std::result::Result<&crate::model::S3JobManifestGenerator, &Self> {
if let JobManifestGenerator::S3JobManifestGenerator(val) = &self {
Ok(val)
} else {
Err(self)
}
}
pub fn is_s3_job_manifest_generator(&self) -> bool {
self.as_s3_job_manifest_generator().is_ok()
}
pub fn is_unknown(&self) -> bool {
matches!(self, Self::Unknown)
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3JobManifestGenerator {
#[doc(hidden)]
pub expected_bucket_owner: std::option::Option<std::string::String>,
#[doc(hidden)]
pub source_bucket: std::option::Option<std::string::String>,
#[doc(hidden)]
pub manifest_output_location: std::option::Option<crate::model::S3ManifestOutputLocation>,
#[doc(hidden)]
pub filter: std::option::Option<crate::model::JobManifestGeneratorFilter>,
#[doc(hidden)]
pub enable_manifest_output: bool,
}
impl S3JobManifestGenerator {
pub fn expected_bucket_owner(&self) -> std::option::Option<&str> {
self.expected_bucket_owner.as_deref()
}
pub fn source_bucket(&self) -> std::option::Option<&str> {
self.source_bucket.as_deref()
}
pub fn manifest_output_location(
&self,
) -> std::option::Option<&crate::model::S3ManifestOutputLocation> {
self.manifest_output_location.as_ref()
}
pub fn filter(&self) -> std::option::Option<&crate::model::JobManifestGeneratorFilter> {
self.filter.as_ref()
}
pub fn enable_manifest_output(&self) -> bool {
self.enable_manifest_output
}
}
pub mod s3_job_manifest_generator {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) expected_bucket_owner: std::option::Option<std::string::String>,
pub(crate) source_bucket: std::option::Option<std::string::String>,
pub(crate) manifest_output_location:
std::option::Option<crate::model::S3ManifestOutputLocation>,
pub(crate) filter: std::option::Option<crate::model::JobManifestGeneratorFilter>,
pub(crate) enable_manifest_output: std::option::Option<bool>,
}
impl Builder {
pub fn expected_bucket_owner(mut self, input: impl Into<std::string::String>) -> Self {
self.expected_bucket_owner = Some(input.into());
self
}
pub fn set_expected_bucket_owner(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.expected_bucket_owner = input;
self
}
pub fn source_bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.source_bucket = Some(input.into());
self
}
pub fn set_source_bucket(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.source_bucket = input;
self
}
pub fn manifest_output_location(
mut self,
input: crate::model::S3ManifestOutputLocation,
) -> Self {
self.manifest_output_location = Some(input);
self
}
pub fn set_manifest_output_location(
mut self,
input: std::option::Option<crate::model::S3ManifestOutputLocation>,
) -> Self {
self.manifest_output_location = input;
self
}
pub fn filter(mut self, input: crate::model::JobManifestGeneratorFilter) -> Self {
self.filter = Some(input);
self
}
pub fn set_filter(
mut self,
input: std::option::Option<crate::model::JobManifestGeneratorFilter>,
) -> Self {
self.filter = input;
self
}
pub fn enable_manifest_output(mut self, input: bool) -> Self {
self.enable_manifest_output = Some(input);
self
}
pub fn set_enable_manifest_output(mut self, input: std::option::Option<bool>) -> Self {
self.enable_manifest_output = input;
self
}
pub fn build(self) -> crate::model::S3JobManifestGenerator {
crate::model::S3JobManifestGenerator {
expected_bucket_owner: self.expected_bucket_owner,
source_bucket: self.source_bucket,
manifest_output_location: self.manifest_output_location,
filter: self.filter,
enable_manifest_output: self.enable_manifest_output.unwrap_or_default(),
}
}
}
}
impl S3JobManifestGenerator {
pub fn builder() -> crate::model::s3_job_manifest_generator::Builder {
crate::model::s3_job_manifest_generator::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobManifestGeneratorFilter {
#[doc(hidden)]
pub eligible_for_replication: std::option::Option<bool>,
#[doc(hidden)]
pub created_after: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub created_before: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub object_replication_statuses:
std::option::Option<std::vec::Vec<crate::model::ReplicationStatus>>,
}
impl JobManifestGeneratorFilter {
pub fn eligible_for_replication(&self) -> std::option::Option<bool> {
self.eligible_for_replication
}
pub fn created_after(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.created_after.as_ref()
}
pub fn created_before(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.created_before.as_ref()
}
pub fn object_replication_statuses(
&self,
) -> std::option::Option<&[crate::model::ReplicationStatus]> {
self.object_replication_statuses.as_deref()
}
}
pub mod job_manifest_generator_filter {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) eligible_for_replication: std::option::Option<bool>,
pub(crate) created_after: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) created_before: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) object_replication_statuses:
std::option::Option<std::vec::Vec<crate::model::ReplicationStatus>>,
}
impl Builder {
pub fn eligible_for_replication(mut self, input: bool) -> Self {
self.eligible_for_replication = Some(input);
self
}
pub fn set_eligible_for_replication(mut self, input: std::option::Option<bool>) -> Self {
self.eligible_for_replication = input;
self
}
pub fn created_after(mut self, input: aws_smithy_types::DateTime) -> Self {
self.created_after = Some(input);
self
}
pub fn set_created_after(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.created_after = input;
self
}
pub fn created_before(mut self, input: aws_smithy_types::DateTime) -> Self {
self.created_before = Some(input);
self
}
pub fn set_created_before(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.created_before = input;
self
}
pub fn object_replication_statuses(
mut self,
input: crate::model::ReplicationStatus,
) -> Self {
let mut v = self.object_replication_statuses.unwrap_or_default();
v.push(input);
self.object_replication_statuses = Some(v);
self
}
pub fn set_object_replication_statuses(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ReplicationStatus>>,
) -> Self {
self.object_replication_statuses = input;
self
}
pub fn build(self) -> crate::model::JobManifestGeneratorFilter {
crate::model::JobManifestGeneratorFilter {
eligible_for_replication: self.eligible_for_replication,
created_after: self.created_after,
created_before: self.created_before,
object_replication_statuses: self.object_replication_statuses,
}
}
}
}
impl JobManifestGeneratorFilter {
pub fn builder() -> crate::model::job_manifest_generator_filter::Builder {
crate::model::job_manifest_generator_filter::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum ReplicationStatus {
#[allow(missing_docs)] Completed,
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] None,
#[allow(missing_docs)] Replica,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for ReplicationStatus {
fn from(s: &str) -> Self {
match s {
"COMPLETED" => ReplicationStatus::Completed,
"FAILED" => ReplicationStatus::Failed,
"NONE" => ReplicationStatus::None,
"REPLICA" => ReplicationStatus::Replica,
other => {
ReplicationStatus::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for ReplicationStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ReplicationStatus::from(s))
}
}
impl ReplicationStatus {
pub fn as_str(&self) -> &str {
match self {
ReplicationStatus::Completed => "COMPLETED",
ReplicationStatus::Failed => "FAILED",
ReplicationStatus::None => "NONE",
ReplicationStatus::Replica => "REPLICA",
ReplicationStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["COMPLETED", "FAILED", "NONE", "REPLICA"]
}
}
impl AsRef<str> for ReplicationStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3ManifestOutputLocation {
#[doc(hidden)]
pub expected_manifest_bucket_owner: std::option::Option<std::string::String>,
#[doc(hidden)]
pub bucket: std::option::Option<std::string::String>,
#[doc(hidden)]
pub manifest_prefix: std::option::Option<std::string::String>,
#[doc(hidden)]
pub manifest_encryption: std::option::Option<crate::model::GeneratedManifestEncryption>,
#[doc(hidden)]
pub manifest_format: std::option::Option<crate::model::GeneratedManifestFormat>,
}
impl S3ManifestOutputLocation {
pub fn expected_manifest_bucket_owner(&self) -> std::option::Option<&str> {
self.expected_manifest_bucket_owner.as_deref()
}
pub fn bucket(&self) -> std::option::Option<&str> {
self.bucket.as_deref()
}
pub fn manifest_prefix(&self) -> std::option::Option<&str> {
self.manifest_prefix.as_deref()
}
pub fn manifest_encryption(
&self,
) -> std::option::Option<&crate::model::GeneratedManifestEncryption> {
self.manifest_encryption.as_ref()
}
pub fn manifest_format(&self) -> std::option::Option<&crate::model::GeneratedManifestFormat> {
self.manifest_format.as_ref()
}
}
pub mod s3_manifest_output_location {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) expected_manifest_bucket_owner: std::option::Option<std::string::String>,
pub(crate) bucket: std::option::Option<std::string::String>,
pub(crate) manifest_prefix: std::option::Option<std::string::String>,
pub(crate) manifest_encryption:
std::option::Option<crate::model::GeneratedManifestEncryption>,
pub(crate) manifest_format: std::option::Option<crate::model::GeneratedManifestFormat>,
}
impl Builder {
pub fn expected_manifest_bucket_owner(
mut self,
input: impl Into<std::string::String>,
) -> Self {
self.expected_manifest_bucket_owner = Some(input.into());
self
}
pub fn set_expected_manifest_bucket_owner(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.expected_manifest_bucket_owner = input;
self
}
pub fn bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket = Some(input.into());
self
}
pub fn set_bucket(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket = input;
self
}
pub fn manifest_prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.manifest_prefix = Some(input.into());
self
}
pub fn set_manifest_prefix(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.manifest_prefix = input;
self
}
pub fn manifest_encryption(
mut self,
input: crate::model::GeneratedManifestEncryption,
) -> Self {
self.manifest_encryption = Some(input);
self
}
pub fn set_manifest_encryption(
mut self,
input: std::option::Option<crate::model::GeneratedManifestEncryption>,
) -> Self {
self.manifest_encryption = input;
self
}
pub fn manifest_format(mut self, input: crate::model::GeneratedManifestFormat) -> Self {
self.manifest_format = Some(input);
self
}
pub fn set_manifest_format(
mut self,
input: std::option::Option<crate::model::GeneratedManifestFormat>,
) -> Self {
self.manifest_format = input;
self
}
pub fn build(self) -> crate::model::S3ManifestOutputLocation {
crate::model::S3ManifestOutputLocation {
expected_manifest_bucket_owner: self.expected_manifest_bucket_owner,
bucket: self.bucket,
manifest_prefix: self.manifest_prefix,
manifest_encryption: self.manifest_encryption,
manifest_format: self.manifest_format,
}
}
}
}
impl S3ManifestOutputLocation {
pub fn builder() -> crate::model::s3_manifest_output_location::Builder {
crate::model::s3_manifest_output_location::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GeneratedManifestEncryption {
#[doc(hidden)]
pub sses3: std::option::Option<crate::model::Sses3Encryption>,
#[doc(hidden)]
pub ssekms: std::option::Option<crate::model::SsekmsEncryption>,
}
impl GeneratedManifestEncryption {
pub fn sses3(&self) -> std::option::Option<&crate::model::Sses3Encryption> {
self.sses3.as_ref()
}
pub fn ssekms(&self) -> std::option::Option<&crate::model::SsekmsEncryption> {
self.ssekms.as_ref()
}
}
pub mod generated_manifest_encryption {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) sses3: std::option::Option<crate::model::Sses3Encryption>,
pub(crate) ssekms: std::option::Option<crate::model::SsekmsEncryption>,
}
impl Builder {
pub fn sses3(mut self, input: crate::model::Sses3Encryption) -> Self {
self.sses3 = Some(input);
self
}
pub fn set_sses3(
mut self,
input: std::option::Option<crate::model::Sses3Encryption>,
) -> Self {
self.sses3 = input;
self
}
pub fn ssekms(mut self, input: crate::model::SsekmsEncryption) -> Self {
self.ssekms = Some(input);
self
}
pub fn set_ssekms(
mut self,
input: std::option::Option<crate::model::SsekmsEncryption>,
) -> Self {
self.ssekms = input;
self
}
pub fn build(self) -> crate::model::GeneratedManifestEncryption {
crate::model::GeneratedManifestEncryption {
sses3: self.sses3,
ssekms: self.ssekms,
}
}
}
}
impl GeneratedManifestEncryption {
pub fn builder() -> crate::model::generated_manifest_encryption::Builder {
crate::model::generated_manifest_encryption::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct SsekmsEncryption {
#[doc(hidden)]
pub key_id: std::option::Option<std::string::String>,
}
impl SsekmsEncryption {
pub fn key_id(&self) -> std::option::Option<&str> {
self.key_id.as_deref()
}
}
pub mod ssekms_encryption {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) key_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn key_id(mut self, input: impl Into<std::string::String>) -> Self {
self.key_id = Some(input.into());
self
}
pub fn set_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.key_id = input;
self
}
pub fn build(self) -> crate::model::SsekmsEncryption {
crate::model::SsekmsEncryption {
key_id: self.key_id,
}
}
}
}
impl SsekmsEncryption {
pub fn builder() -> crate::model::ssekms_encryption::Builder {
crate::model::ssekms_encryption::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Sses3Encryption {}
pub mod sses3_encryption {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {}
impl Builder {
pub fn build(self) -> crate::model::Sses3Encryption {
crate::model::Sses3Encryption {}
}
}
}
impl Sses3Encryption {
pub fn builder() -> crate::model::sses3_encryption::Builder {
crate::model::sses3_encryption::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobReport {
#[doc(hidden)]
pub bucket: std::option::Option<std::string::String>,
#[doc(hidden)]
pub format: std::option::Option<crate::model::JobReportFormat>,
#[doc(hidden)]
pub enabled: bool,
#[doc(hidden)]
pub prefix: std::option::Option<std::string::String>,
#[doc(hidden)]
pub report_scope: std::option::Option<crate::model::JobReportScope>,
}
impl JobReport {
pub fn bucket(&self) -> std::option::Option<&str> {
self.bucket.as_deref()
}
pub fn format(&self) -> std::option::Option<&crate::model::JobReportFormat> {
self.format.as_ref()
}
pub fn enabled(&self) -> bool {
self.enabled
}
pub fn prefix(&self) -> std::option::Option<&str> {
self.prefix.as_deref()
}
pub fn report_scope(&self) -> std::option::Option<&crate::model::JobReportScope> {
self.report_scope.as_ref()
}
}
pub mod job_report {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket: std::option::Option<std::string::String>,
pub(crate) format: std::option::Option<crate::model::JobReportFormat>,
pub(crate) enabled: std::option::Option<bool>,
pub(crate) prefix: std::option::Option<std::string::String>,
pub(crate) report_scope: std::option::Option<crate::model::JobReportScope>,
}
impl Builder {
pub fn bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket = Some(input.into());
self
}
pub fn set_bucket(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket = input;
self
}
pub fn format(mut self, input: crate::model::JobReportFormat) -> Self {
self.format = Some(input);
self
}
pub fn set_format(
mut self,
input: std::option::Option<crate::model::JobReportFormat>,
) -> Self {
self.format = input;
self
}
pub fn enabled(mut self, input: bool) -> Self {
self.enabled = Some(input);
self
}
pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.enabled = input;
self
}
pub fn prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.prefix = Some(input.into());
self
}
pub fn set_prefix(mut self, input: std::option::Option<std::string::String>) -> Self {
self.prefix = input;
self
}
pub fn report_scope(mut self, input: crate::model::JobReportScope) -> Self {
self.report_scope = Some(input);
self
}
pub fn set_report_scope(
mut self,
input: std::option::Option<crate::model::JobReportScope>,
) -> Self {
self.report_scope = input;
self
}
pub fn build(self) -> crate::model::JobReport {
crate::model::JobReport {
bucket: self.bucket,
format: self.format,
enabled: self.enabled.unwrap_or_default(),
prefix: self.prefix,
report_scope: self.report_scope,
}
}
}
}
impl JobReport {
pub fn builder() -> crate::model::job_report::Builder {
crate::model::job_report::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum JobReportScope {
#[allow(missing_docs)] AllTasks,
#[allow(missing_docs)] FailedTasksOnly,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for JobReportScope {
fn from(s: &str) -> Self {
match s {
"AllTasks" => JobReportScope::AllTasks,
"FailedTasksOnly" => JobReportScope::FailedTasksOnly,
other => JobReportScope::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for JobReportScope {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(JobReportScope::from(s))
}
}
impl JobReportScope {
pub fn as_str(&self) -> &str {
match self {
JobReportScope::AllTasks => "AllTasks",
JobReportScope::FailedTasksOnly => "FailedTasksOnly",
JobReportScope::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["AllTasks", "FailedTasksOnly"]
}
}
impl AsRef<str> for JobReportScope {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum JobReportFormat {
#[allow(missing_docs)] ReportCsv20180820,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for JobReportFormat {
fn from(s: &str) -> Self {
match s {
"Report_CSV_20180820" => JobReportFormat::ReportCsv20180820,
other => JobReportFormat::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for JobReportFormat {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(JobReportFormat::from(s))
}
}
impl JobReportFormat {
pub fn as_str(&self) -> &str {
match self {
JobReportFormat::ReportCsv20180820 => "Report_CSV_20180820",
JobReportFormat::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["Report_CSV_20180820"]
}
}
impl AsRef<str> for JobReportFormat {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobFailure {
#[doc(hidden)]
pub failure_code: std::option::Option<std::string::String>,
#[doc(hidden)]
pub failure_reason: std::option::Option<std::string::String>,
}
impl JobFailure {
pub fn failure_code(&self) -> std::option::Option<&str> {
self.failure_code.as_deref()
}
pub fn failure_reason(&self) -> std::option::Option<&str> {
self.failure_reason.as_deref()
}
}
pub mod job_failure {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) failure_code: std::option::Option<std::string::String>,
pub(crate) failure_reason: std::option::Option<std::string::String>,
}
impl Builder {
pub fn failure_code(mut self, input: impl Into<std::string::String>) -> Self {
self.failure_code = Some(input.into());
self
}
pub fn set_failure_code(mut self, input: std::option::Option<std::string::String>) -> Self {
self.failure_code = input;
self
}
pub fn failure_reason(mut self, input: impl Into<std::string::String>) -> Self {
self.failure_reason = Some(input.into());
self
}
pub fn set_failure_reason(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.failure_reason = input;
self
}
pub fn build(self) -> crate::model::JobFailure {
crate::model::JobFailure {
failure_code: self.failure_code,
failure_reason: self.failure_reason,
}
}
}
}
impl JobFailure {
pub fn builder() -> crate::model::job_failure::Builder {
crate::model::job_failure::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobOperation {
#[doc(hidden)]
pub lambda_invoke: std::option::Option<crate::model::LambdaInvokeOperation>,
#[doc(hidden)]
pub s3_put_object_copy: std::option::Option<crate::model::S3CopyObjectOperation>,
#[doc(hidden)]
pub s3_put_object_acl: std::option::Option<crate::model::S3SetObjectAclOperation>,
#[doc(hidden)]
pub s3_put_object_tagging: std::option::Option<crate::model::S3SetObjectTaggingOperation>,
#[doc(hidden)]
pub s3_delete_object_tagging: std::option::Option<crate::model::S3DeleteObjectTaggingOperation>,
#[doc(hidden)]
pub s3_initiate_restore_object:
std::option::Option<crate::model::S3InitiateRestoreObjectOperation>,
#[doc(hidden)]
pub s3_put_object_legal_hold: std::option::Option<crate::model::S3SetObjectLegalHoldOperation>,
#[doc(hidden)]
pub s3_put_object_retention: std::option::Option<crate::model::S3SetObjectRetentionOperation>,
#[doc(hidden)]
pub s3_replicate_object: std::option::Option<crate::model::S3ReplicateObjectOperation>,
}
impl JobOperation {
pub fn lambda_invoke(&self) -> std::option::Option<&crate::model::LambdaInvokeOperation> {
self.lambda_invoke.as_ref()
}
pub fn s3_put_object_copy(&self) -> std::option::Option<&crate::model::S3CopyObjectOperation> {
self.s3_put_object_copy.as_ref()
}
pub fn s3_put_object_acl(&self) -> std::option::Option<&crate::model::S3SetObjectAclOperation> {
self.s3_put_object_acl.as_ref()
}
pub fn s3_put_object_tagging(
&self,
) -> std::option::Option<&crate::model::S3SetObjectTaggingOperation> {
self.s3_put_object_tagging.as_ref()
}
pub fn s3_delete_object_tagging(
&self,
) -> std::option::Option<&crate::model::S3DeleteObjectTaggingOperation> {
self.s3_delete_object_tagging.as_ref()
}
pub fn s3_initiate_restore_object(
&self,
) -> std::option::Option<&crate::model::S3InitiateRestoreObjectOperation> {
self.s3_initiate_restore_object.as_ref()
}
pub fn s3_put_object_legal_hold(
&self,
) -> std::option::Option<&crate::model::S3SetObjectLegalHoldOperation> {
self.s3_put_object_legal_hold.as_ref()
}
pub fn s3_put_object_retention(
&self,
) -> std::option::Option<&crate::model::S3SetObjectRetentionOperation> {
self.s3_put_object_retention.as_ref()
}
pub fn s3_replicate_object(
&self,
) -> std::option::Option<&crate::model::S3ReplicateObjectOperation> {
self.s3_replicate_object.as_ref()
}
}
pub mod job_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) lambda_invoke: std::option::Option<crate::model::LambdaInvokeOperation>,
pub(crate) s3_put_object_copy: std::option::Option<crate::model::S3CopyObjectOperation>,
pub(crate) s3_put_object_acl: std::option::Option<crate::model::S3SetObjectAclOperation>,
pub(crate) s3_put_object_tagging:
std::option::Option<crate::model::S3SetObjectTaggingOperation>,
pub(crate) s3_delete_object_tagging:
std::option::Option<crate::model::S3DeleteObjectTaggingOperation>,
pub(crate) s3_initiate_restore_object:
std::option::Option<crate::model::S3InitiateRestoreObjectOperation>,
pub(crate) s3_put_object_legal_hold:
std::option::Option<crate::model::S3SetObjectLegalHoldOperation>,
pub(crate) s3_put_object_retention:
std::option::Option<crate::model::S3SetObjectRetentionOperation>,
pub(crate) s3_replicate_object:
std::option::Option<crate::model::S3ReplicateObjectOperation>,
}
impl Builder {
pub fn lambda_invoke(mut self, input: crate::model::LambdaInvokeOperation) -> Self {
self.lambda_invoke = Some(input);
self
}
pub fn set_lambda_invoke(
mut self,
input: std::option::Option<crate::model::LambdaInvokeOperation>,
) -> Self {
self.lambda_invoke = input;
self
}
pub fn s3_put_object_copy(mut self, input: crate::model::S3CopyObjectOperation) -> Self {
self.s3_put_object_copy = Some(input);
self
}
pub fn set_s3_put_object_copy(
mut self,
input: std::option::Option<crate::model::S3CopyObjectOperation>,
) -> Self {
self.s3_put_object_copy = input;
self
}
pub fn s3_put_object_acl(mut self, input: crate::model::S3SetObjectAclOperation) -> Self {
self.s3_put_object_acl = Some(input);
self
}
pub fn set_s3_put_object_acl(
mut self,
input: std::option::Option<crate::model::S3SetObjectAclOperation>,
) -> Self {
self.s3_put_object_acl = input;
self
}
pub fn s3_put_object_tagging(
mut self,
input: crate::model::S3SetObjectTaggingOperation,
) -> Self {
self.s3_put_object_tagging = Some(input);
self
}
pub fn set_s3_put_object_tagging(
mut self,
input: std::option::Option<crate::model::S3SetObjectTaggingOperation>,
) -> Self {
self.s3_put_object_tagging = input;
self
}
pub fn s3_delete_object_tagging(
mut self,
input: crate::model::S3DeleteObjectTaggingOperation,
) -> Self {
self.s3_delete_object_tagging = Some(input);
self
}
pub fn set_s3_delete_object_tagging(
mut self,
input: std::option::Option<crate::model::S3DeleteObjectTaggingOperation>,
) -> Self {
self.s3_delete_object_tagging = input;
self
}
pub fn s3_initiate_restore_object(
mut self,
input: crate::model::S3InitiateRestoreObjectOperation,
) -> Self {
self.s3_initiate_restore_object = Some(input);
self
}
pub fn set_s3_initiate_restore_object(
mut self,
input: std::option::Option<crate::model::S3InitiateRestoreObjectOperation>,
) -> Self {
self.s3_initiate_restore_object = input;
self
}
pub fn s3_put_object_legal_hold(
mut self,
input: crate::model::S3SetObjectLegalHoldOperation,
) -> Self {
self.s3_put_object_legal_hold = Some(input);
self
}
pub fn set_s3_put_object_legal_hold(
mut self,
input: std::option::Option<crate::model::S3SetObjectLegalHoldOperation>,
) -> Self {
self.s3_put_object_legal_hold = input;
self
}
pub fn s3_put_object_retention(
mut self,
input: crate::model::S3SetObjectRetentionOperation,
) -> Self {
self.s3_put_object_retention = Some(input);
self
}
pub fn set_s3_put_object_retention(
mut self,
input: std::option::Option<crate::model::S3SetObjectRetentionOperation>,
) -> Self {
self.s3_put_object_retention = input;
self
}
pub fn s3_replicate_object(
mut self,
input: crate::model::S3ReplicateObjectOperation,
) -> Self {
self.s3_replicate_object = Some(input);
self
}
pub fn set_s3_replicate_object(
mut self,
input: std::option::Option<crate::model::S3ReplicateObjectOperation>,
) -> Self {
self.s3_replicate_object = input;
self
}
pub fn build(self) -> crate::model::JobOperation {
crate::model::JobOperation {
lambda_invoke: self.lambda_invoke,
s3_put_object_copy: self.s3_put_object_copy,
s3_put_object_acl: self.s3_put_object_acl,
s3_put_object_tagging: self.s3_put_object_tagging,
s3_delete_object_tagging: self.s3_delete_object_tagging,
s3_initiate_restore_object: self.s3_initiate_restore_object,
s3_put_object_legal_hold: self.s3_put_object_legal_hold,
s3_put_object_retention: self.s3_put_object_retention,
s3_replicate_object: self.s3_replicate_object,
}
}
}
}
impl JobOperation {
pub fn builder() -> crate::model::job_operation::Builder {
crate::model::job_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3ReplicateObjectOperation {}
pub mod s3_replicate_object_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {}
impl Builder {
pub fn build(self) -> crate::model::S3ReplicateObjectOperation {
crate::model::S3ReplicateObjectOperation {}
}
}
}
impl S3ReplicateObjectOperation {
pub fn builder() -> crate::model::s3_replicate_object_operation::Builder {
crate::model::s3_replicate_object_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3SetObjectRetentionOperation {
#[doc(hidden)]
pub bypass_governance_retention: std::option::Option<bool>,
#[doc(hidden)]
pub retention: std::option::Option<crate::model::S3Retention>,
}
impl S3SetObjectRetentionOperation {
pub fn bypass_governance_retention(&self) -> std::option::Option<bool> {
self.bypass_governance_retention
}
pub fn retention(&self) -> std::option::Option<&crate::model::S3Retention> {
self.retention.as_ref()
}
}
pub mod s3_set_object_retention_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bypass_governance_retention: std::option::Option<bool>,
pub(crate) retention: std::option::Option<crate::model::S3Retention>,
}
impl Builder {
pub fn bypass_governance_retention(mut self, input: bool) -> Self {
self.bypass_governance_retention = Some(input);
self
}
pub fn set_bypass_governance_retention(mut self, input: std::option::Option<bool>) -> Self {
self.bypass_governance_retention = input;
self
}
pub fn retention(mut self, input: crate::model::S3Retention) -> Self {
self.retention = Some(input);
self
}
pub fn set_retention(
mut self,
input: std::option::Option<crate::model::S3Retention>,
) -> Self {
self.retention = input;
self
}
pub fn build(self) -> crate::model::S3SetObjectRetentionOperation {
crate::model::S3SetObjectRetentionOperation {
bypass_governance_retention: self.bypass_governance_retention,
retention: self.retention,
}
}
}
}
impl S3SetObjectRetentionOperation {
pub fn builder() -> crate::model::s3_set_object_retention_operation::Builder {
crate::model::s3_set_object_retention_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3Retention {
#[doc(hidden)]
pub retain_until_date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub mode: std::option::Option<crate::model::S3ObjectLockRetentionMode>,
}
impl S3Retention {
pub fn retain_until_date(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.retain_until_date.as_ref()
}
pub fn mode(&self) -> std::option::Option<&crate::model::S3ObjectLockRetentionMode> {
self.mode.as_ref()
}
}
pub mod s3_retention {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) retain_until_date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) mode: std::option::Option<crate::model::S3ObjectLockRetentionMode>,
}
impl Builder {
pub fn retain_until_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.retain_until_date = Some(input);
self
}
pub fn set_retain_until_date(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.retain_until_date = input;
self
}
pub fn mode(mut self, input: crate::model::S3ObjectLockRetentionMode) -> Self {
self.mode = Some(input);
self
}
pub fn set_mode(
mut self,
input: std::option::Option<crate::model::S3ObjectLockRetentionMode>,
) -> Self {
self.mode = input;
self
}
pub fn build(self) -> crate::model::S3Retention {
crate::model::S3Retention {
retain_until_date: self.retain_until_date,
mode: self.mode,
}
}
}
}
impl S3Retention {
pub fn builder() -> crate::model::s3_retention::Builder {
crate::model::s3_retention::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3ObjectLockRetentionMode {
#[allow(missing_docs)] Compliance,
#[allow(missing_docs)] Governance,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3ObjectLockRetentionMode {
fn from(s: &str) -> Self {
match s {
"COMPLIANCE" => S3ObjectLockRetentionMode::Compliance,
"GOVERNANCE" => S3ObjectLockRetentionMode::Governance,
other => S3ObjectLockRetentionMode::Unknown(crate::types::UnknownVariantValue(
other.to_owned(),
)),
}
}
}
impl std::str::FromStr for S3ObjectLockRetentionMode {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3ObjectLockRetentionMode::from(s))
}
}
impl S3ObjectLockRetentionMode {
pub fn as_str(&self) -> &str {
match self {
S3ObjectLockRetentionMode::Compliance => "COMPLIANCE",
S3ObjectLockRetentionMode::Governance => "GOVERNANCE",
S3ObjectLockRetentionMode::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["COMPLIANCE", "GOVERNANCE"]
}
}
impl AsRef<str> for S3ObjectLockRetentionMode {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3SetObjectLegalHoldOperation {
#[doc(hidden)]
pub legal_hold: std::option::Option<crate::model::S3ObjectLockLegalHold>,
}
impl S3SetObjectLegalHoldOperation {
pub fn legal_hold(&self) -> std::option::Option<&crate::model::S3ObjectLockLegalHold> {
self.legal_hold.as_ref()
}
}
pub mod s3_set_object_legal_hold_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) legal_hold: std::option::Option<crate::model::S3ObjectLockLegalHold>,
}
impl Builder {
pub fn legal_hold(mut self, input: crate::model::S3ObjectLockLegalHold) -> Self {
self.legal_hold = Some(input);
self
}
pub fn set_legal_hold(
mut self,
input: std::option::Option<crate::model::S3ObjectLockLegalHold>,
) -> Self {
self.legal_hold = input;
self
}
pub fn build(self) -> crate::model::S3SetObjectLegalHoldOperation {
crate::model::S3SetObjectLegalHoldOperation {
legal_hold: self.legal_hold,
}
}
}
}
impl S3SetObjectLegalHoldOperation {
pub fn builder() -> crate::model::s3_set_object_legal_hold_operation::Builder {
crate::model::s3_set_object_legal_hold_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3ObjectLockLegalHold {
#[doc(hidden)]
pub status: std::option::Option<crate::model::S3ObjectLockLegalHoldStatus>,
}
impl S3ObjectLockLegalHold {
pub fn status(&self) -> std::option::Option<&crate::model::S3ObjectLockLegalHoldStatus> {
self.status.as_ref()
}
}
pub mod s3_object_lock_legal_hold {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) status: std::option::Option<crate::model::S3ObjectLockLegalHoldStatus>,
}
impl Builder {
pub fn status(mut self, input: crate::model::S3ObjectLockLegalHoldStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::S3ObjectLockLegalHoldStatus>,
) -> Self {
self.status = input;
self
}
pub fn build(self) -> crate::model::S3ObjectLockLegalHold {
crate::model::S3ObjectLockLegalHold {
status: self.status,
}
}
}
}
impl S3ObjectLockLegalHold {
pub fn builder() -> crate::model::s3_object_lock_legal_hold::Builder {
crate::model::s3_object_lock_legal_hold::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3ObjectLockLegalHoldStatus {
#[allow(missing_docs)] Off,
#[allow(missing_docs)] On,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3ObjectLockLegalHoldStatus {
fn from(s: &str) -> Self {
match s {
"OFF" => S3ObjectLockLegalHoldStatus::Off,
"ON" => S3ObjectLockLegalHoldStatus::On,
other => S3ObjectLockLegalHoldStatus::Unknown(crate::types::UnknownVariantValue(
other.to_owned(),
)),
}
}
}
impl std::str::FromStr for S3ObjectLockLegalHoldStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3ObjectLockLegalHoldStatus::from(s))
}
}
impl S3ObjectLockLegalHoldStatus {
pub fn as_str(&self) -> &str {
match self {
S3ObjectLockLegalHoldStatus::Off => "OFF",
S3ObjectLockLegalHoldStatus::On => "ON",
S3ObjectLockLegalHoldStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["OFF", "ON"]
}
}
impl AsRef<str> for S3ObjectLockLegalHoldStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3InitiateRestoreObjectOperation {
#[doc(hidden)]
pub expiration_in_days: std::option::Option<i32>,
#[doc(hidden)]
pub glacier_job_tier: std::option::Option<crate::model::S3GlacierJobTier>,
}
impl S3InitiateRestoreObjectOperation {
pub fn expiration_in_days(&self) -> std::option::Option<i32> {
self.expiration_in_days
}
pub fn glacier_job_tier(&self) -> std::option::Option<&crate::model::S3GlacierJobTier> {
self.glacier_job_tier.as_ref()
}
}
pub mod s3_initiate_restore_object_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) expiration_in_days: std::option::Option<i32>,
pub(crate) glacier_job_tier: std::option::Option<crate::model::S3GlacierJobTier>,
}
impl Builder {
pub fn expiration_in_days(mut self, input: i32) -> Self {
self.expiration_in_days = Some(input);
self
}
pub fn set_expiration_in_days(mut self, input: std::option::Option<i32>) -> Self {
self.expiration_in_days = input;
self
}
pub fn glacier_job_tier(mut self, input: crate::model::S3GlacierJobTier) -> Self {
self.glacier_job_tier = Some(input);
self
}
pub fn set_glacier_job_tier(
mut self,
input: std::option::Option<crate::model::S3GlacierJobTier>,
) -> Self {
self.glacier_job_tier = input;
self
}
pub fn build(self) -> crate::model::S3InitiateRestoreObjectOperation {
crate::model::S3InitiateRestoreObjectOperation {
expiration_in_days: self.expiration_in_days,
glacier_job_tier: self.glacier_job_tier,
}
}
}
}
impl S3InitiateRestoreObjectOperation {
pub fn builder() -> crate::model::s3_initiate_restore_object_operation::Builder {
crate::model::s3_initiate_restore_object_operation::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3GlacierJobTier {
#[allow(missing_docs)] Bulk,
#[allow(missing_docs)] Standard,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3GlacierJobTier {
fn from(s: &str) -> Self {
match s {
"BULK" => S3GlacierJobTier::Bulk,
"STANDARD" => S3GlacierJobTier::Standard,
other => S3GlacierJobTier::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for S3GlacierJobTier {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3GlacierJobTier::from(s))
}
}
impl S3GlacierJobTier {
pub fn as_str(&self) -> &str {
match self {
S3GlacierJobTier::Bulk => "BULK",
S3GlacierJobTier::Standard => "STANDARD",
S3GlacierJobTier::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["BULK", "STANDARD"]
}
}
impl AsRef<str> for S3GlacierJobTier {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3DeleteObjectTaggingOperation {}
pub mod s3_delete_object_tagging_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {}
impl Builder {
pub fn build(self) -> crate::model::S3DeleteObjectTaggingOperation {
crate::model::S3DeleteObjectTaggingOperation {}
}
}
}
impl S3DeleteObjectTaggingOperation {
pub fn builder() -> crate::model::s3_delete_object_tagging_operation::Builder {
crate::model::s3_delete_object_tagging_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3SetObjectTaggingOperation {
#[doc(hidden)]
pub tag_set: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
}
impl S3SetObjectTaggingOperation {
pub fn tag_set(&self) -> std::option::Option<&[crate::model::S3Tag]> {
self.tag_set.as_deref()
}
}
pub mod s3_set_object_tagging_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) tag_set: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
}
impl Builder {
pub fn tag_set(mut self, input: crate::model::S3Tag) -> Self {
let mut v = self.tag_set.unwrap_or_default();
v.push(input);
self.tag_set = Some(v);
self
}
pub fn set_tag_set(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
) -> Self {
self.tag_set = input;
self
}
pub fn build(self) -> crate::model::S3SetObjectTaggingOperation {
crate::model::S3SetObjectTaggingOperation {
tag_set: self.tag_set,
}
}
}
}
impl S3SetObjectTaggingOperation {
pub fn builder() -> crate::model::s3_set_object_tagging_operation::Builder {
crate::model::s3_set_object_tagging_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3SetObjectAclOperation {
#[doc(hidden)]
pub access_control_policy: std::option::Option<crate::model::S3AccessControlPolicy>,
}
impl S3SetObjectAclOperation {
pub fn access_control_policy(
&self,
) -> std::option::Option<&crate::model::S3AccessControlPolicy> {
self.access_control_policy.as_ref()
}
}
pub mod s3_set_object_acl_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) access_control_policy: std::option::Option<crate::model::S3AccessControlPolicy>,
}
impl Builder {
pub fn access_control_policy(mut self, input: crate::model::S3AccessControlPolicy) -> Self {
self.access_control_policy = Some(input);
self
}
pub fn set_access_control_policy(
mut self,
input: std::option::Option<crate::model::S3AccessControlPolicy>,
) -> Self {
self.access_control_policy = input;
self
}
pub fn build(self) -> crate::model::S3SetObjectAclOperation {
crate::model::S3SetObjectAclOperation {
access_control_policy: self.access_control_policy,
}
}
}
}
impl S3SetObjectAclOperation {
pub fn builder() -> crate::model::s3_set_object_acl_operation::Builder {
crate::model::s3_set_object_acl_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3AccessControlPolicy {
#[doc(hidden)]
pub access_control_list: std::option::Option<crate::model::S3AccessControlList>,
#[doc(hidden)]
pub canned_access_control_list: std::option::Option<crate::model::S3CannedAccessControlList>,
}
impl S3AccessControlPolicy {
pub fn access_control_list(&self) -> std::option::Option<&crate::model::S3AccessControlList> {
self.access_control_list.as_ref()
}
pub fn canned_access_control_list(
&self,
) -> std::option::Option<&crate::model::S3CannedAccessControlList> {
self.canned_access_control_list.as_ref()
}
}
pub mod s3_access_control_policy {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) access_control_list: std::option::Option<crate::model::S3AccessControlList>,
pub(crate) canned_access_control_list:
std::option::Option<crate::model::S3CannedAccessControlList>,
}
impl Builder {
pub fn access_control_list(mut self, input: crate::model::S3AccessControlList) -> Self {
self.access_control_list = Some(input);
self
}
pub fn set_access_control_list(
mut self,
input: std::option::Option<crate::model::S3AccessControlList>,
) -> Self {
self.access_control_list = input;
self
}
pub fn canned_access_control_list(
mut self,
input: crate::model::S3CannedAccessControlList,
) -> Self {
self.canned_access_control_list = Some(input);
self
}
pub fn set_canned_access_control_list(
mut self,
input: std::option::Option<crate::model::S3CannedAccessControlList>,
) -> Self {
self.canned_access_control_list = input;
self
}
pub fn build(self) -> crate::model::S3AccessControlPolicy {
crate::model::S3AccessControlPolicy {
access_control_list: self.access_control_list,
canned_access_control_list: self.canned_access_control_list,
}
}
}
}
impl S3AccessControlPolicy {
pub fn builder() -> crate::model::s3_access_control_policy::Builder {
crate::model::s3_access_control_policy::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3CannedAccessControlList {
#[allow(missing_docs)] AuthenticatedRead,
#[allow(missing_docs)] AwsExecRead,
#[allow(missing_docs)] BucketOwnerFullControl,
#[allow(missing_docs)] BucketOwnerRead,
#[allow(missing_docs)] Private,
#[allow(missing_docs)] PublicRead,
#[allow(missing_docs)] PublicReadWrite,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3CannedAccessControlList {
fn from(s: &str) -> Self {
match s {
"authenticated-read" => S3CannedAccessControlList::AuthenticatedRead,
"aws-exec-read" => S3CannedAccessControlList::AwsExecRead,
"bucket-owner-full-control" => S3CannedAccessControlList::BucketOwnerFullControl,
"bucket-owner-read" => S3CannedAccessControlList::BucketOwnerRead,
"private" => S3CannedAccessControlList::Private,
"public-read" => S3CannedAccessControlList::PublicRead,
"public-read-write" => S3CannedAccessControlList::PublicReadWrite,
other => S3CannedAccessControlList::Unknown(crate::types::UnknownVariantValue(
other.to_owned(),
)),
}
}
}
impl std::str::FromStr for S3CannedAccessControlList {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3CannedAccessControlList::from(s))
}
}
impl S3CannedAccessControlList {
pub fn as_str(&self) -> &str {
match self {
S3CannedAccessControlList::AuthenticatedRead => "authenticated-read",
S3CannedAccessControlList::AwsExecRead => "aws-exec-read",
S3CannedAccessControlList::BucketOwnerFullControl => "bucket-owner-full-control",
S3CannedAccessControlList::BucketOwnerRead => "bucket-owner-read",
S3CannedAccessControlList::Private => "private",
S3CannedAccessControlList::PublicRead => "public-read",
S3CannedAccessControlList::PublicReadWrite => "public-read-write",
S3CannedAccessControlList::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"authenticated-read",
"aws-exec-read",
"bucket-owner-full-control",
"bucket-owner-read",
"private",
"public-read",
"public-read-write",
]
}
}
impl AsRef<str> for S3CannedAccessControlList {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3AccessControlList {
#[doc(hidden)]
pub owner: std::option::Option<crate::model::S3ObjectOwner>,
#[doc(hidden)]
pub grants: std::option::Option<std::vec::Vec<crate::model::S3Grant>>,
}
impl S3AccessControlList {
pub fn owner(&self) -> std::option::Option<&crate::model::S3ObjectOwner> {
self.owner.as_ref()
}
pub fn grants(&self) -> std::option::Option<&[crate::model::S3Grant]> {
self.grants.as_deref()
}
}
pub mod s3_access_control_list {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) owner: std::option::Option<crate::model::S3ObjectOwner>,
pub(crate) grants: std::option::Option<std::vec::Vec<crate::model::S3Grant>>,
}
impl Builder {
pub fn owner(mut self, input: crate::model::S3ObjectOwner) -> Self {
self.owner = Some(input);
self
}
pub fn set_owner(
mut self,
input: std::option::Option<crate::model::S3ObjectOwner>,
) -> Self {
self.owner = input;
self
}
pub fn grants(mut self, input: crate::model::S3Grant) -> Self {
let mut v = self.grants.unwrap_or_default();
v.push(input);
self.grants = Some(v);
self
}
pub fn set_grants(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::S3Grant>>,
) -> Self {
self.grants = input;
self
}
pub fn build(self) -> crate::model::S3AccessControlList {
crate::model::S3AccessControlList {
owner: self.owner,
grants: self.grants,
}
}
}
}
impl S3AccessControlList {
pub fn builder() -> crate::model::s3_access_control_list::Builder {
crate::model::s3_access_control_list::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3Grant {
#[doc(hidden)]
pub grantee: std::option::Option<crate::model::S3Grantee>,
#[doc(hidden)]
pub permission: std::option::Option<crate::model::S3Permission>,
}
impl S3Grant {
pub fn grantee(&self) -> std::option::Option<&crate::model::S3Grantee> {
self.grantee.as_ref()
}
pub fn permission(&self) -> std::option::Option<&crate::model::S3Permission> {
self.permission.as_ref()
}
}
pub mod s3_grant {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) grantee: std::option::Option<crate::model::S3Grantee>,
pub(crate) permission: std::option::Option<crate::model::S3Permission>,
}
impl Builder {
pub fn grantee(mut self, input: crate::model::S3Grantee) -> Self {
self.grantee = Some(input);
self
}
pub fn set_grantee(mut self, input: std::option::Option<crate::model::S3Grantee>) -> Self {
self.grantee = input;
self
}
pub fn permission(mut self, input: crate::model::S3Permission) -> Self {
self.permission = Some(input);
self
}
pub fn set_permission(
mut self,
input: std::option::Option<crate::model::S3Permission>,
) -> Self {
self.permission = input;
self
}
pub fn build(self) -> crate::model::S3Grant {
crate::model::S3Grant {
grantee: self.grantee,
permission: self.permission,
}
}
}
}
impl S3Grant {
pub fn builder() -> crate::model::s3_grant::Builder {
crate::model::s3_grant::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3Permission {
#[allow(missing_docs)] FullControl,
#[allow(missing_docs)] Read,
#[allow(missing_docs)] ReadAcp,
#[allow(missing_docs)] Write,
#[allow(missing_docs)] WriteAcp,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3Permission {
fn from(s: &str) -> Self {
match s {
"FULL_CONTROL" => S3Permission::FullControl,
"READ" => S3Permission::Read,
"READ_ACP" => S3Permission::ReadAcp,
"WRITE" => S3Permission::Write,
"WRITE_ACP" => S3Permission::WriteAcp,
other => S3Permission::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for S3Permission {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3Permission::from(s))
}
}
impl S3Permission {
pub fn as_str(&self) -> &str {
match self {
S3Permission::FullControl => "FULL_CONTROL",
S3Permission::Read => "READ",
S3Permission::ReadAcp => "READ_ACP",
S3Permission::Write => "WRITE",
S3Permission::WriteAcp => "WRITE_ACP",
S3Permission::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["FULL_CONTROL", "READ", "READ_ACP", "WRITE", "WRITE_ACP"]
}
}
impl AsRef<str> for S3Permission {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3Grantee {
#[doc(hidden)]
pub type_identifier: std::option::Option<crate::model::S3GranteeTypeIdentifier>,
#[doc(hidden)]
pub identifier: std::option::Option<std::string::String>,
#[doc(hidden)]
pub display_name: std::option::Option<std::string::String>,
}
impl S3Grantee {
pub fn type_identifier(&self) -> std::option::Option<&crate::model::S3GranteeTypeIdentifier> {
self.type_identifier.as_ref()
}
pub fn identifier(&self) -> std::option::Option<&str> {
self.identifier.as_deref()
}
pub fn display_name(&self) -> std::option::Option<&str> {
self.display_name.as_deref()
}
}
pub mod s3_grantee {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) type_identifier: std::option::Option<crate::model::S3GranteeTypeIdentifier>,
pub(crate) identifier: std::option::Option<std::string::String>,
pub(crate) display_name: std::option::Option<std::string::String>,
}
impl Builder {
pub fn type_identifier(mut self, input: crate::model::S3GranteeTypeIdentifier) -> Self {
self.type_identifier = Some(input);
self
}
pub fn set_type_identifier(
mut self,
input: std::option::Option<crate::model::S3GranteeTypeIdentifier>,
) -> Self {
self.type_identifier = input;
self
}
pub fn identifier(mut self, input: impl Into<std::string::String>) -> Self {
self.identifier = Some(input.into());
self
}
pub fn set_identifier(mut self, input: std::option::Option<std::string::String>) -> Self {
self.identifier = input;
self
}
pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
self.display_name = Some(input.into());
self
}
pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.display_name = input;
self
}
pub fn build(self) -> crate::model::S3Grantee {
crate::model::S3Grantee {
type_identifier: self.type_identifier,
identifier: self.identifier,
display_name: self.display_name,
}
}
}
}
impl S3Grantee {
pub fn builder() -> crate::model::s3_grantee::Builder {
crate::model::s3_grantee::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3GranteeTypeIdentifier {
#[allow(missing_docs)] EmailAddress,
#[allow(missing_docs)] Canonical,
#[allow(missing_docs)] Group,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3GranteeTypeIdentifier {
fn from(s: &str) -> Self {
match s {
"emailAddress" => S3GranteeTypeIdentifier::EmailAddress,
"id" => S3GranteeTypeIdentifier::Canonical,
"uri" => S3GranteeTypeIdentifier::Group,
other => S3GranteeTypeIdentifier::Unknown(crate::types::UnknownVariantValue(
other.to_owned(),
)),
}
}
}
impl std::str::FromStr for S3GranteeTypeIdentifier {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3GranteeTypeIdentifier::from(s))
}
}
impl S3GranteeTypeIdentifier {
pub fn as_str(&self) -> &str {
match self {
S3GranteeTypeIdentifier::EmailAddress => "emailAddress",
S3GranteeTypeIdentifier::Canonical => "id",
S3GranteeTypeIdentifier::Group => "uri",
S3GranteeTypeIdentifier::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["emailAddress", "id", "uri"]
}
}
impl AsRef<str> for S3GranteeTypeIdentifier {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3ObjectOwner {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub display_name: std::option::Option<std::string::String>,
}
impl S3ObjectOwner {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn display_name(&self) -> std::option::Option<&str> {
self.display_name.as_deref()
}
}
pub mod s3_object_owner {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) display_name: std::option::Option<std::string::String>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
self.display_name = Some(input.into());
self
}
pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.display_name = input;
self
}
pub fn build(self) -> crate::model::S3ObjectOwner {
crate::model::S3ObjectOwner {
id: self.id,
display_name: self.display_name,
}
}
}
}
impl S3ObjectOwner {
pub fn builder() -> crate::model::s3_object_owner::Builder {
crate::model::s3_object_owner::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3CopyObjectOperation {
#[doc(hidden)]
pub target_resource: std::option::Option<std::string::String>,
#[doc(hidden)]
pub canned_access_control_list: std::option::Option<crate::model::S3CannedAccessControlList>,
#[doc(hidden)]
pub access_control_grants: std::option::Option<std::vec::Vec<crate::model::S3Grant>>,
#[doc(hidden)]
pub metadata_directive: std::option::Option<crate::model::S3MetadataDirective>,
#[doc(hidden)]
pub modified_since_constraint: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub new_object_metadata: std::option::Option<crate::model::S3ObjectMetadata>,
#[doc(hidden)]
pub new_object_tagging: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
#[doc(hidden)]
pub redirect_location: std::option::Option<std::string::String>,
#[doc(hidden)]
pub requester_pays: bool,
#[doc(hidden)]
pub storage_class: std::option::Option<crate::model::S3StorageClass>,
#[doc(hidden)]
pub un_modified_since_constraint: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub sse_aws_kms_key_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub target_key_prefix: std::option::Option<std::string::String>,
#[doc(hidden)]
pub object_lock_legal_hold_status:
std::option::Option<crate::model::S3ObjectLockLegalHoldStatus>,
#[doc(hidden)]
pub object_lock_mode: std::option::Option<crate::model::S3ObjectLockMode>,
#[doc(hidden)]
pub object_lock_retain_until_date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub bucket_key_enabled: bool,
#[doc(hidden)]
pub checksum_algorithm: std::option::Option<crate::model::S3ChecksumAlgorithm>,
}
impl S3CopyObjectOperation {
pub fn target_resource(&self) -> std::option::Option<&str> {
self.target_resource.as_deref()
}
pub fn canned_access_control_list(
&self,
) -> std::option::Option<&crate::model::S3CannedAccessControlList> {
self.canned_access_control_list.as_ref()
}
pub fn access_control_grants(&self) -> std::option::Option<&[crate::model::S3Grant]> {
self.access_control_grants.as_deref()
}
pub fn metadata_directive(&self) -> std::option::Option<&crate::model::S3MetadataDirective> {
self.metadata_directive.as_ref()
}
pub fn modified_since_constraint(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.modified_since_constraint.as_ref()
}
pub fn new_object_metadata(&self) -> std::option::Option<&crate::model::S3ObjectMetadata> {
self.new_object_metadata.as_ref()
}
pub fn new_object_tagging(&self) -> std::option::Option<&[crate::model::S3Tag]> {
self.new_object_tagging.as_deref()
}
pub fn redirect_location(&self) -> std::option::Option<&str> {
self.redirect_location.as_deref()
}
pub fn requester_pays(&self) -> bool {
self.requester_pays
}
pub fn storage_class(&self) -> std::option::Option<&crate::model::S3StorageClass> {
self.storage_class.as_ref()
}
pub fn un_modified_since_constraint(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.un_modified_since_constraint.as_ref()
}
pub fn sse_aws_kms_key_id(&self) -> std::option::Option<&str> {
self.sse_aws_kms_key_id.as_deref()
}
pub fn target_key_prefix(&self) -> std::option::Option<&str> {
self.target_key_prefix.as_deref()
}
pub fn object_lock_legal_hold_status(
&self,
) -> std::option::Option<&crate::model::S3ObjectLockLegalHoldStatus> {
self.object_lock_legal_hold_status.as_ref()
}
pub fn object_lock_mode(&self) -> std::option::Option<&crate::model::S3ObjectLockMode> {
self.object_lock_mode.as_ref()
}
pub fn object_lock_retain_until_date(
&self,
) -> std::option::Option<&aws_smithy_types::DateTime> {
self.object_lock_retain_until_date.as_ref()
}
pub fn bucket_key_enabled(&self) -> bool {
self.bucket_key_enabled
}
pub fn checksum_algorithm(&self) -> std::option::Option<&crate::model::S3ChecksumAlgorithm> {
self.checksum_algorithm.as_ref()
}
}
pub mod s3_copy_object_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) target_resource: std::option::Option<std::string::String>,
pub(crate) canned_access_control_list:
std::option::Option<crate::model::S3CannedAccessControlList>,
pub(crate) access_control_grants: std::option::Option<std::vec::Vec<crate::model::S3Grant>>,
pub(crate) metadata_directive: std::option::Option<crate::model::S3MetadataDirective>,
pub(crate) modified_since_constraint: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) new_object_metadata: std::option::Option<crate::model::S3ObjectMetadata>,
pub(crate) new_object_tagging: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
pub(crate) redirect_location: std::option::Option<std::string::String>,
pub(crate) requester_pays: std::option::Option<bool>,
pub(crate) storage_class: std::option::Option<crate::model::S3StorageClass>,
pub(crate) un_modified_since_constraint: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) sse_aws_kms_key_id: std::option::Option<std::string::String>,
pub(crate) target_key_prefix: std::option::Option<std::string::String>,
pub(crate) object_lock_legal_hold_status:
std::option::Option<crate::model::S3ObjectLockLegalHoldStatus>,
pub(crate) object_lock_mode: std::option::Option<crate::model::S3ObjectLockMode>,
pub(crate) object_lock_retain_until_date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) bucket_key_enabled: std::option::Option<bool>,
pub(crate) checksum_algorithm: std::option::Option<crate::model::S3ChecksumAlgorithm>,
}
impl Builder {
pub fn target_resource(mut self, input: impl Into<std::string::String>) -> Self {
self.target_resource = Some(input.into());
self
}
pub fn set_target_resource(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.target_resource = input;
self
}
pub fn canned_access_control_list(
mut self,
input: crate::model::S3CannedAccessControlList,
) -> Self {
self.canned_access_control_list = Some(input);
self
}
pub fn set_canned_access_control_list(
mut self,
input: std::option::Option<crate::model::S3CannedAccessControlList>,
) -> Self {
self.canned_access_control_list = input;
self
}
pub fn access_control_grants(mut self, input: crate::model::S3Grant) -> Self {
let mut v = self.access_control_grants.unwrap_or_default();
v.push(input);
self.access_control_grants = Some(v);
self
}
pub fn set_access_control_grants(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::S3Grant>>,
) -> Self {
self.access_control_grants = input;
self
}
pub fn metadata_directive(mut self, input: crate::model::S3MetadataDirective) -> Self {
self.metadata_directive = Some(input);
self
}
pub fn set_metadata_directive(
mut self,
input: std::option::Option<crate::model::S3MetadataDirective>,
) -> Self {
self.metadata_directive = input;
self
}
pub fn modified_since_constraint(mut self, input: aws_smithy_types::DateTime) -> Self {
self.modified_since_constraint = Some(input);
self
}
pub fn set_modified_since_constraint(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.modified_since_constraint = input;
self
}
pub fn new_object_metadata(mut self, input: crate::model::S3ObjectMetadata) -> Self {
self.new_object_metadata = Some(input);
self
}
pub fn set_new_object_metadata(
mut self,
input: std::option::Option<crate::model::S3ObjectMetadata>,
) -> Self {
self.new_object_metadata = input;
self
}
pub fn new_object_tagging(mut self, input: crate::model::S3Tag) -> Self {
let mut v = self.new_object_tagging.unwrap_or_default();
v.push(input);
self.new_object_tagging = Some(v);
self
}
pub fn set_new_object_tagging(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::S3Tag>>,
) -> Self {
self.new_object_tagging = input;
self
}
pub fn redirect_location(mut self, input: impl Into<std::string::String>) -> Self {
self.redirect_location = Some(input.into());
self
}
pub fn set_redirect_location(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.redirect_location = input;
self
}
pub fn requester_pays(mut self, input: bool) -> Self {
self.requester_pays = Some(input);
self
}
pub fn set_requester_pays(mut self, input: std::option::Option<bool>) -> Self {
self.requester_pays = input;
self
}
pub fn storage_class(mut self, input: crate::model::S3StorageClass) -> Self {
self.storage_class = Some(input);
self
}
pub fn set_storage_class(
mut self,
input: std::option::Option<crate::model::S3StorageClass>,
) -> Self {
self.storage_class = input;
self
}
pub fn un_modified_since_constraint(mut self, input: aws_smithy_types::DateTime) -> Self {
self.un_modified_since_constraint = Some(input);
self
}
pub fn set_un_modified_since_constraint(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.un_modified_since_constraint = input;
self
}
pub fn sse_aws_kms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
self.sse_aws_kms_key_id = Some(input.into());
self
}
pub fn set_sse_aws_kms_key_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.sse_aws_kms_key_id = input;
self
}
pub fn target_key_prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.target_key_prefix = Some(input.into());
self
}
pub fn set_target_key_prefix(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.target_key_prefix = input;
self
}
pub fn object_lock_legal_hold_status(
mut self,
input: crate::model::S3ObjectLockLegalHoldStatus,
) -> Self {
self.object_lock_legal_hold_status = Some(input);
self
}
pub fn set_object_lock_legal_hold_status(
mut self,
input: std::option::Option<crate::model::S3ObjectLockLegalHoldStatus>,
) -> Self {
self.object_lock_legal_hold_status = input;
self
}
pub fn object_lock_mode(mut self, input: crate::model::S3ObjectLockMode) -> Self {
self.object_lock_mode = Some(input);
self
}
pub fn set_object_lock_mode(
mut self,
input: std::option::Option<crate::model::S3ObjectLockMode>,
) -> Self {
self.object_lock_mode = input;
self
}
pub fn object_lock_retain_until_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.object_lock_retain_until_date = Some(input);
self
}
pub fn set_object_lock_retain_until_date(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.object_lock_retain_until_date = 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 checksum_algorithm(mut self, input: crate::model::S3ChecksumAlgorithm) -> Self {
self.checksum_algorithm = Some(input);
self
}
pub fn set_checksum_algorithm(
mut self,
input: std::option::Option<crate::model::S3ChecksumAlgorithm>,
) -> Self {
self.checksum_algorithm = input;
self
}
pub fn build(self) -> crate::model::S3CopyObjectOperation {
crate::model::S3CopyObjectOperation {
target_resource: self.target_resource,
canned_access_control_list: self.canned_access_control_list,
access_control_grants: self.access_control_grants,
metadata_directive: self.metadata_directive,
modified_since_constraint: self.modified_since_constraint,
new_object_metadata: self.new_object_metadata,
new_object_tagging: self.new_object_tagging,
redirect_location: self.redirect_location,
requester_pays: self.requester_pays.unwrap_or_default(),
storage_class: self.storage_class,
un_modified_since_constraint: self.un_modified_since_constraint,
sse_aws_kms_key_id: self.sse_aws_kms_key_id,
target_key_prefix: self.target_key_prefix,
object_lock_legal_hold_status: self.object_lock_legal_hold_status,
object_lock_mode: self.object_lock_mode,
object_lock_retain_until_date: self.object_lock_retain_until_date,
bucket_key_enabled: self.bucket_key_enabled.unwrap_or_default(),
checksum_algorithm: self.checksum_algorithm,
}
}
}
}
impl S3CopyObjectOperation {
pub fn builder() -> crate::model::s3_copy_object_operation::Builder {
crate::model::s3_copy_object_operation::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3ChecksumAlgorithm {
#[allow(missing_docs)] Crc32,
#[allow(missing_docs)] Crc32C,
#[allow(missing_docs)] Sha1,
#[allow(missing_docs)] Sha256,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3ChecksumAlgorithm {
fn from(s: &str) -> Self {
match s {
"CRC32" => S3ChecksumAlgorithm::Crc32,
"CRC32C" => S3ChecksumAlgorithm::Crc32C,
"SHA1" => S3ChecksumAlgorithm::Sha1,
"SHA256" => S3ChecksumAlgorithm::Sha256,
other => {
S3ChecksumAlgorithm::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for S3ChecksumAlgorithm {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3ChecksumAlgorithm::from(s))
}
}
impl S3ChecksumAlgorithm {
pub fn as_str(&self) -> &str {
match self {
S3ChecksumAlgorithm::Crc32 => "CRC32",
S3ChecksumAlgorithm::Crc32C => "CRC32C",
S3ChecksumAlgorithm::Sha1 => "SHA1",
S3ChecksumAlgorithm::Sha256 => "SHA256",
S3ChecksumAlgorithm::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["CRC32", "CRC32C", "SHA1", "SHA256"]
}
}
impl AsRef<str> for S3ChecksumAlgorithm {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3ObjectLockMode {
#[allow(missing_docs)] Compliance,
#[allow(missing_docs)] Governance,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3ObjectLockMode {
fn from(s: &str) -> Self {
match s {
"COMPLIANCE" => S3ObjectLockMode::Compliance,
"GOVERNANCE" => S3ObjectLockMode::Governance,
other => S3ObjectLockMode::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for S3ObjectLockMode {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3ObjectLockMode::from(s))
}
}
impl S3ObjectLockMode {
pub fn as_str(&self) -> &str {
match self {
S3ObjectLockMode::Compliance => "COMPLIANCE",
S3ObjectLockMode::Governance => "GOVERNANCE",
S3ObjectLockMode::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["COMPLIANCE", "GOVERNANCE"]
}
}
impl AsRef<str> for S3ObjectLockMode {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3StorageClass {
#[allow(missing_docs)] DeepArchive,
#[allow(missing_docs)] Glacier,
#[allow(missing_docs)] GlacierIr,
#[allow(missing_docs)] IntelligentTiering,
#[allow(missing_docs)] OnezoneIa,
#[allow(missing_docs)] Standard,
#[allow(missing_docs)] StandardIa,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3StorageClass {
fn from(s: &str) -> Self {
match s {
"DEEP_ARCHIVE" => S3StorageClass::DeepArchive,
"GLACIER" => S3StorageClass::Glacier,
"GLACIER_IR" => S3StorageClass::GlacierIr,
"INTELLIGENT_TIERING" => S3StorageClass::IntelligentTiering,
"ONEZONE_IA" => S3StorageClass::OnezoneIa,
"STANDARD" => S3StorageClass::Standard,
"STANDARD_IA" => S3StorageClass::StandardIa,
other => S3StorageClass::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for S3StorageClass {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3StorageClass::from(s))
}
}
impl S3StorageClass {
pub fn as_str(&self) -> &str {
match self {
S3StorageClass::DeepArchive => "DEEP_ARCHIVE",
S3StorageClass::Glacier => "GLACIER",
S3StorageClass::GlacierIr => "GLACIER_IR",
S3StorageClass::IntelligentTiering => "INTELLIGENT_TIERING",
S3StorageClass::OnezoneIa => "ONEZONE_IA",
S3StorageClass::Standard => "STANDARD",
S3StorageClass::StandardIa => "STANDARD_IA",
S3StorageClass::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"DEEP_ARCHIVE",
"GLACIER",
"GLACIER_IR",
"INTELLIGENT_TIERING",
"ONEZONE_IA",
"STANDARD",
"STANDARD_IA",
]
}
}
impl AsRef<str> for S3StorageClass {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct S3ObjectMetadata {
#[doc(hidden)]
pub cache_control: std::option::Option<std::string::String>,
#[doc(hidden)]
pub content_disposition: std::option::Option<std::string::String>,
#[doc(hidden)]
pub content_encoding: std::option::Option<std::string::String>,
#[doc(hidden)]
pub content_language: std::option::Option<std::string::String>,
#[doc(hidden)]
pub user_metadata:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub content_length: std::option::Option<i64>,
#[doc(hidden)]
pub content_md5: std::option::Option<std::string::String>,
#[doc(hidden)]
pub content_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub http_expires_date: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub requester_charged: bool,
#[doc(hidden)]
pub sse_algorithm: std::option::Option<crate::model::S3SseAlgorithm>,
}
impl S3ObjectMetadata {
pub fn cache_control(&self) -> std::option::Option<&str> {
self.cache_control.as_deref()
}
pub fn content_disposition(&self) -> std::option::Option<&str> {
self.content_disposition.as_deref()
}
pub fn content_encoding(&self) -> std::option::Option<&str> {
self.content_encoding.as_deref()
}
pub fn content_language(&self) -> std::option::Option<&str> {
self.content_language.as_deref()
}
pub fn user_metadata(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.user_metadata.as_ref()
}
pub fn content_length(&self) -> std::option::Option<i64> {
self.content_length
}
pub fn content_md5(&self) -> std::option::Option<&str> {
self.content_md5.as_deref()
}
pub fn content_type(&self) -> std::option::Option<&str> {
self.content_type.as_deref()
}
pub fn http_expires_date(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.http_expires_date.as_ref()
}
pub fn requester_charged(&self) -> bool {
self.requester_charged
}
pub fn sse_algorithm(&self) -> std::option::Option<&crate::model::S3SseAlgorithm> {
self.sse_algorithm.as_ref()
}
}
pub mod s3_object_metadata {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) cache_control: std::option::Option<std::string::String>,
pub(crate) content_disposition: std::option::Option<std::string::String>,
pub(crate) content_encoding: std::option::Option<std::string::String>,
pub(crate) content_language: std::option::Option<std::string::String>,
pub(crate) user_metadata: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) content_length: std::option::Option<i64>,
pub(crate) content_md5: std::option::Option<std::string::String>,
pub(crate) content_type: std::option::Option<std::string::String>,
pub(crate) http_expires_date: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) requester_charged: std::option::Option<bool>,
pub(crate) sse_algorithm: std::option::Option<crate::model::S3SseAlgorithm>,
}
impl Builder {
pub fn cache_control(mut self, input: impl Into<std::string::String>) -> Self {
self.cache_control = Some(input.into());
self
}
pub fn set_cache_control(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.cache_control = input;
self
}
pub fn content_disposition(mut self, input: impl Into<std::string::String>) -> Self {
self.content_disposition = Some(input.into());
self
}
pub fn set_content_disposition(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.content_disposition = input;
self
}
pub fn content_encoding(mut self, input: impl Into<std::string::String>) -> Self {
self.content_encoding = Some(input.into());
self
}
pub fn set_content_encoding(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.content_encoding = input;
self
}
pub fn content_language(mut self, input: impl Into<std::string::String>) -> Self {
self.content_language = Some(input.into());
self
}
pub fn set_content_language(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.content_language = input;
self
}
pub fn user_metadata(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.user_metadata.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.user_metadata = Some(hash_map);
self
}
pub fn set_user_metadata(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.user_metadata = input;
self
}
pub fn content_length(mut self, input: i64) -> Self {
self.content_length = Some(input);
self
}
pub fn set_content_length(mut self, input: std::option::Option<i64>) -> Self {
self.content_length = input;
self
}
pub fn content_md5(mut self, input: impl Into<std::string::String>) -> Self {
self.content_md5 = Some(input.into());
self
}
pub fn set_content_md5(mut self, input: std::option::Option<std::string::String>) -> Self {
self.content_md5 = input;
self
}
pub fn content_type(mut self, input: impl Into<std::string::String>) -> Self {
self.content_type = Some(input.into());
self
}
pub fn set_content_type(mut self, input: std::option::Option<std::string::String>) -> Self {
self.content_type = input;
self
}
pub fn http_expires_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.http_expires_date = Some(input);
self
}
pub fn set_http_expires_date(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.http_expires_date = input;
self
}
pub fn requester_charged(mut self, input: bool) -> Self {
self.requester_charged = Some(input);
self
}
pub fn set_requester_charged(mut self, input: std::option::Option<bool>) -> Self {
self.requester_charged = input;
self
}
pub fn sse_algorithm(mut self, input: crate::model::S3SseAlgorithm) -> Self {
self.sse_algorithm = Some(input);
self
}
pub fn set_sse_algorithm(
mut self,
input: std::option::Option<crate::model::S3SseAlgorithm>,
) -> Self {
self.sse_algorithm = input;
self
}
pub fn build(self) -> crate::model::S3ObjectMetadata {
crate::model::S3ObjectMetadata {
cache_control: self.cache_control,
content_disposition: self.content_disposition,
content_encoding: self.content_encoding,
content_language: self.content_language,
user_metadata: self.user_metadata,
content_length: self.content_length,
content_md5: self.content_md5,
content_type: self.content_type,
http_expires_date: self.http_expires_date,
requester_charged: self.requester_charged.unwrap_or_default(),
sse_algorithm: self.sse_algorithm,
}
}
}
}
impl S3ObjectMetadata {
pub fn builder() -> crate::model::s3_object_metadata::Builder {
crate::model::s3_object_metadata::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3SseAlgorithm {
#[allow(missing_docs)] Aes256,
#[allow(missing_docs)] Kms,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3SseAlgorithm {
fn from(s: &str) -> Self {
match s {
"AES256" => S3SseAlgorithm::Aes256,
"KMS" => S3SseAlgorithm::Kms,
other => S3SseAlgorithm::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for S3SseAlgorithm {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3SseAlgorithm::from(s))
}
}
impl S3SseAlgorithm {
pub fn as_str(&self) -> &str {
match self {
S3SseAlgorithm::Aes256 => "AES256",
S3SseAlgorithm::Kms => "KMS",
S3SseAlgorithm::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["AES256", "KMS"]
}
}
impl AsRef<str> for S3SseAlgorithm {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum S3MetadataDirective {
#[allow(missing_docs)] Copy,
#[allow(missing_docs)] Replace,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for S3MetadataDirective {
fn from(s: &str) -> Self {
match s {
"COPY" => S3MetadataDirective::Copy,
"REPLACE" => S3MetadataDirective::Replace,
other => {
S3MetadataDirective::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for S3MetadataDirective {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3MetadataDirective::from(s))
}
}
impl S3MetadataDirective {
pub fn as_str(&self) -> &str {
match self {
S3MetadataDirective::Copy => "COPY",
S3MetadataDirective::Replace => "REPLACE",
S3MetadataDirective::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["COPY", "REPLACE"]
}
}
impl AsRef<str> for S3MetadataDirective {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct LambdaInvokeOperation {
#[doc(hidden)]
pub function_arn: std::option::Option<std::string::String>,
}
impl LambdaInvokeOperation {
pub fn function_arn(&self) -> std::option::Option<&str> {
self.function_arn.as_deref()
}
}
pub mod lambda_invoke_operation {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) function_arn: std::option::Option<std::string::String>,
}
impl Builder {
pub fn function_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.function_arn = Some(input.into());
self
}
pub fn set_function_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.function_arn = input;
self
}
pub fn build(self) -> crate::model::LambdaInvokeOperation {
crate::model::LambdaInvokeOperation {
function_arn: self.function_arn,
}
}
}
}
impl LambdaInvokeOperation {
pub fn builder() -> crate::model::lambda_invoke_operation::Builder {
crate::model::lambda_invoke_operation::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobManifest {
#[doc(hidden)]
pub spec: std::option::Option<crate::model::JobManifestSpec>,
#[doc(hidden)]
pub location: std::option::Option<crate::model::JobManifestLocation>,
}
impl JobManifest {
pub fn spec(&self) -> std::option::Option<&crate::model::JobManifestSpec> {
self.spec.as_ref()
}
pub fn location(&self) -> std::option::Option<&crate::model::JobManifestLocation> {
self.location.as_ref()
}
}
pub mod job_manifest {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) spec: std::option::Option<crate::model::JobManifestSpec>,
pub(crate) location: std::option::Option<crate::model::JobManifestLocation>,
}
impl Builder {
pub fn spec(mut self, input: crate::model::JobManifestSpec) -> Self {
self.spec = Some(input);
self
}
pub fn set_spec(
mut self,
input: std::option::Option<crate::model::JobManifestSpec>,
) -> Self {
self.spec = input;
self
}
pub fn location(mut self, input: crate::model::JobManifestLocation) -> Self {
self.location = Some(input);
self
}
pub fn set_location(
mut self,
input: std::option::Option<crate::model::JobManifestLocation>,
) -> Self {
self.location = input;
self
}
pub fn build(self) -> crate::model::JobManifest {
crate::model::JobManifest {
spec: self.spec,
location: self.location,
}
}
}
}
impl JobManifest {
pub fn builder() -> crate::model::job_manifest::Builder {
crate::model::job_manifest::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct JobManifestSpec {
#[doc(hidden)]
pub format: std::option::Option<crate::model::JobManifestFormat>,
#[doc(hidden)]
pub fields: std::option::Option<std::vec::Vec<crate::model::JobManifestFieldName>>,
}
impl JobManifestSpec {
pub fn format(&self) -> std::option::Option<&crate::model::JobManifestFormat> {
self.format.as_ref()
}
pub fn fields(&self) -> std::option::Option<&[crate::model::JobManifestFieldName]> {
self.fields.as_deref()
}
}
pub mod job_manifest_spec {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) format: std::option::Option<crate::model::JobManifestFormat>,
pub(crate) fields: std::option::Option<std::vec::Vec<crate::model::JobManifestFieldName>>,
}
impl Builder {
pub fn format(mut self, input: crate::model::JobManifestFormat) -> Self {
self.format = Some(input);
self
}
pub fn set_format(
mut self,
input: std::option::Option<crate::model::JobManifestFormat>,
) -> Self {
self.format = input;
self
}
pub fn fields(mut self, input: crate::model::JobManifestFieldName) -> Self {
let mut v = self.fields.unwrap_or_default();
v.push(input);
self.fields = Some(v);
self
}
pub fn set_fields(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::JobManifestFieldName>>,
) -> Self {
self.fields = input;
self
}
pub fn build(self) -> crate::model::JobManifestSpec {
crate::model::JobManifestSpec {
format: self.format,
fields: self.fields,
}
}
}
}
impl JobManifestSpec {
pub fn builder() -> crate::model::job_manifest_spec::Builder {
crate::model::job_manifest_spec::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum JobManifestFieldName {
#[allow(missing_docs)] Bucket,
#[allow(missing_docs)] Ignore,
#[allow(missing_docs)] Key,
#[allow(missing_docs)] VersionId,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for JobManifestFieldName {
fn from(s: &str) -> Self {
match s {
"Bucket" => JobManifestFieldName::Bucket,
"Ignore" => JobManifestFieldName::Ignore,
"Key" => JobManifestFieldName::Key,
"VersionId" => JobManifestFieldName::VersionId,
other => {
JobManifestFieldName::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for JobManifestFieldName {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(JobManifestFieldName::from(s))
}
}
impl JobManifestFieldName {
pub fn as_str(&self) -> &str {
match self {
JobManifestFieldName::Bucket => "Bucket",
JobManifestFieldName::Ignore => "Ignore",
JobManifestFieldName::Key => "Key",
JobManifestFieldName::VersionId => "VersionId",
JobManifestFieldName::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["Bucket", "Ignore", "Key", "VersionId"]
}
}
impl AsRef<str> for JobManifestFieldName {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum JobManifestFormat {
#[allow(missing_docs)] S3BatchOperationsCsv20180820,
#[allow(missing_docs)] S3InventoryReportCsv20161130,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for JobManifestFormat {
fn from(s: &str) -> Self {
match s {
"S3BatchOperations_CSV_20180820" => JobManifestFormat::S3BatchOperationsCsv20180820,
"S3InventoryReport_CSV_20161130" => JobManifestFormat::S3InventoryReportCsv20161130,
other => {
JobManifestFormat::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for JobManifestFormat {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(JobManifestFormat::from(s))
}
}
impl JobManifestFormat {
pub fn as_str(&self) -> &str {
match self {
JobManifestFormat::S3BatchOperationsCsv20180820 => "S3BatchOperations_CSV_20180820",
JobManifestFormat::S3InventoryReportCsv20161130 => "S3InventoryReport_CSV_20161130",
JobManifestFormat::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"S3BatchOperations_CSV_20180820",
"S3InventoryReport_CSV_20161130",
]
}
}
impl AsRef<str> for JobManifestFormat {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateBucketConfiguration {
#[doc(hidden)]
pub location_constraint: std::option::Option<crate::model::BucketLocationConstraint>,
}
impl CreateBucketConfiguration {
pub fn location_constraint(
&self,
) -> std::option::Option<&crate::model::BucketLocationConstraint> {
self.location_constraint.as_ref()
}
}
pub mod create_bucket_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) location_constraint: std::option::Option<crate::model::BucketLocationConstraint>,
}
impl Builder {
pub fn location_constraint(
mut self,
input: crate::model::BucketLocationConstraint,
) -> Self {
self.location_constraint = Some(input);
self
}
pub fn set_location_constraint(
mut self,
input: std::option::Option<crate::model::BucketLocationConstraint>,
) -> Self {
self.location_constraint = input;
self
}
pub fn build(self) -> crate::model::CreateBucketConfiguration {
crate::model::CreateBucketConfiguration {
location_constraint: self.location_constraint,
}
}
}
}
impl CreateBucketConfiguration {
pub fn builder() -> crate::model::create_bucket_configuration::Builder {
crate::model::create_bucket_configuration::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum BucketLocationConstraint {
#[allow(missing_docs)] Eu,
#[allow(missing_docs)] ApNortheast1,
#[allow(missing_docs)] ApSouth1,
#[allow(missing_docs)] ApSoutheast1,
#[allow(missing_docs)] ApSoutheast2,
#[allow(missing_docs)] CnNorth1,
#[allow(missing_docs)] EuCentral1,
#[allow(missing_docs)] EuWest1,
#[allow(missing_docs)] SaEast1,
#[allow(missing_docs)] UsWest1,
#[allow(missing_docs)] UsWest2,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for BucketLocationConstraint {
fn from(s: &str) -> Self {
match s {
"EU" => BucketLocationConstraint::Eu,
"ap-northeast-1" => BucketLocationConstraint::ApNortheast1,
"ap-south-1" => BucketLocationConstraint::ApSouth1,
"ap-southeast-1" => BucketLocationConstraint::ApSoutheast1,
"ap-southeast-2" => BucketLocationConstraint::ApSoutheast2,
"cn-north-1" => BucketLocationConstraint::CnNorth1,
"eu-central-1" => BucketLocationConstraint::EuCentral1,
"eu-west-1" => BucketLocationConstraint::EuWest1,
"sa-east-1" => BucketLocationConstraint::SaEast1,
"us-west-1" => BucketLocationConstraint::UsWest1,
"us-west-2" => BucketLocationConstraint::UsWest2,
other => BucketLocationConstraint::Unknown(crate::types::UnknownVariantValue(
other.to_owned(),
)),
}
}
}
impl std::str::FromStr for BucketLocationConstraint {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(BucketLocationConstraint::from(s))
}
}
impl BucketLocationConstraint {
pub fn as_str(&self) -> &str {
match self {
BucketLocationConstraint::Eu => "EU",
BucketLocationConstraint::ApNortheast1 => "ap-northeast-1",
BucketLocationConstraint::ApSouth1 => "ap-south-1",
BucketLocationConstraint::ApSoutheast1 => "ap-southeast-1",
BucketLocationConstraint::ApSoutheast2 => "ap-southeast-2",
BucketLocationConstraint::CnNorth1 => "cn-north-1",
BucketLocationConstraint::EuCentral1 => "eu-central-1",
BucketLocationConstraint::EuWest1 => "eu-west-1",
BucketLocationConstraint::SaEast1 => "sa-east-1",
BucketLocationConstraint::UsWest1 => "us-west-1",
BucketLocationConstraint::UsWest2 => "us-west-2",
BucketLocationConstraint::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"EU",
"ap-northeast-1",
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
"cn-north-1",
"eu-central-1",
"eu-west-1",
"sa-east-1",
"us-west-1",
"us-west-2",
]
}
}
impl AsRef<str> for BucketLocationConstraint {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum BucketCannedAcl {
#[allow(missing_docs)] AuthenticatedRead,
#[allow(missing_docs)] Private,
#[allow(missing_docs)] PublicRead,
#[allow(missing_docs)] PublicReadWrite,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for BucketCannedAcl {
fn from(s: &str) -> Self {
match s {
"authenticated-read" => BucketCannedAcl::AuthenticatedRead,
"private" => BucketCannedAcl::Private,
"public-read" => BucketCannedAcl::PublicRead,
"public-read-write" => BucketCannedAcl::PublicReadWrite,
other => BucketCannedAcl::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for BucketCannedAcl {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(BucketCannedAcl::from(s))
}
}
impl BucketCannedAcl {
pub fn as_str(&self) -> &str {
match self {
BucketCannedAcl::AuthenticatedRead => "authenticated-read",
BucketCannedAcl::Private => "private",
BucketCannedAcl::PublicRead => "public-read",
BucketCannedAcl::PublicReadWrite => "public-read-write",
BucketCannedAcl::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"authenticated-read",
"private",
"public-read",
"public-read-write",
]
}
}
impl AsRef<str> for BucketCannedAcl {
fn as_ref(&self) -> &str {
self.as_str()
}
}