aws_sdk_ec2/types/
_athena_integration.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct AthenaIntegration {
7 pub integration_result_s3_destination_arn: ::std::option::Option<::std::string::String>,
9 pub partition_load_frequency: ::std::option::Option<crate::types::PartitionLoadFrequency>,
11 pub partition_start_date: ::std::option::Option<::aws_smithy_types::DateTime>,
13 pub partition_end_date: ::std::option::Option<::aws_smithy_types::DateTime>,
15}
16impl AthenaIntegration {
17 pub fn integration_result_s3_destination_arn(&self) -> ::std::option::Option<&str> {
19 self.integration_result_s3_destination_arn.as_deref()
20 }
21 pub fn partition_load_frequency(&self) -> ::std::option::Option<&crate::types::PartitionLoadFrequency> {
23 self.partition_load_frequency.as_ref()
24 }
25 pub fn partition_start_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
27 self.partition_start_date.as_ref()
28 }
29 pub fn partition_end_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
31 self.partition_end_date.as_ref()
32 }
33}
34impl AthenaIntegration {
35 pub fn builder() -> crate::types::builders::AthenaIntegrationBuilder {
37 crate::types::builders::AthenaIntegrationBuilder::default()
38 }
39}
40
41#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
43#[non_exhaustive]
44pub struct AthenaIntegrationBuilder {
45 pub(crate) integration_result_s3_destination_arn: ::std::option::Option<::std::string::String>,
46 pub(crate) partition_load_frequency: ::std::option::Option<crate::types::PartitionLoadFrequency>,
47 pub(crate) partition_start_date: ::std::option::Option<::aws_smithy_types::DateTime>,
48 pub(crate) partition_end_date: ::std::option::Option<::aws_smithy_types::DateTime>,
49}
50impl AthenaIntegrationBuilder {
51 pub fn integration_result_s3_destination_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
54 self.integration_result_s3_destination_arn = ::std::option::Option::Some(input.into());
55 self
56 }
57 pub fn set_integration_result_s3_destination_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
59 self.integration_result_s3_destination_arn = input;
60 self
61 }
62 pub fn get_integration_result_s3_destination_arn(&self) -> &::std::option::Option<::std::string::String> {
64 &self.integration_result_s3_destination_arn
65 }
66 pub fn partition_load_frequency(mut self, input: crate::types::PartitionLoadFrequency) -> Self {
69 self.partition_load_frequency = ::std::option::Option::Some(input);
70 self
71 }
72 pub fn set_partition_load_frequency(mut self, input: ::std::option::Option<crate::types::PartitionLoadFrequency>) -> Self {
74 self.partition_load_frequency = input;
75 self
76 }
77 pub fn get_partition_load_frequency(&self) -> &::std::option::Option<crate::types::PartitionLoadFrequency> {
79 &self.partition_load_frequency
80 }
81 pub fn partition_start_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
83 self.partition_start_date = ::std::option::Option::Some(input);
84 self
85 }
86 pub fn set_partition_start_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
88 self.partition_start_date = input;
89 self
90 }
91 pub fn get_partition_start_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
93 &self.partition_start_date
94 }
95 pub fn partition_end_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
97 self.partition_end_date = ::std::option::Option::Some(input);
98 self
99 }
100 pub fn set_partition_end_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
102 self.partition_end_date = input;
103 self
104 }
105 pub fn get_partition_end_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
107 &self.partition_end_date
108 }
109 pub fn build(self) -> crate::types::AthenaIntegration {
111 crate::types::AthenaIntegration {
112 integration_result_s3_destination_arn: self.integration_result_s3_destination_arn,
113 partition_load_frequency: self.partition_load_frequency,
114 partition_start_date: self.partition_start_date,
115 partition_end_date: self.partition_end_date,
116 }
117 }
118}