aws_sdk_cloudfront/types/
_key_group.rs1#[non_exhaustive]
6#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
7pub struct KeyGroup {
8 pub id: ::std::string::String,
10 pub last_modified_time: ::aws_smithy_types::DateTime,
12 pub key_group_config: ::std::option::Option<crate::types::KeyGroupConfig>,
14}
15impl KeyGroup {
16 pub fn id(&self) -> &str {
18 use std::ops::Deref;
19 self.id.deref()
20 }
21 pub fn last_modified_time(&self) -> &::aws_smithy_types::DateTime {
23 &self.last_modified_time
24 }
25 pub fn key_group_config(&self) -> ::std::option::Option<&crate::types::KeyGroupConfig> {
27 self.key_group_config.as_ref()
28 }
29}
30impl KeyGroup {
31 pub fn builder() -> crate::types::builders::KeyGroupBuilder {
33 crate::types::builders::KeyGroupBuilder::default()
34 }
35}
36
37#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
39#[non_exhaustive]
40pub struct KeyGroupBuilder {
41 pub(crate) id: ::std::option::Option<::std::string::String>,
42 pub(crate) last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
43 pub(crate) key_group_config: ::std::option::Option<crate::types::KeyGroupConfig>,
44}
45impl KeyGroupBuilder {
46 pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
49 self.id = ::std::option::Option::Some(input.into());
50 self
51 }
52 pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
54 self.id = input;
55 self
56 }
57 pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
59 &self.id
60 }
61 pub fn last_modified_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
64 self.last_modified_time = ::std::option::Option::Some(input);
65 self
66 }
67 pub fn set_last_modified_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
69 self.last_modified_time = input;
70 self
71 }
72 pub fn get_last_modified_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
74 &self.last_modified_time
75 }
76 pub fn key_group_config(mut self, input: crate::types::KeyGroupConfig) -> Self {
79 self.key_group_config = ::std::option::Option::Some(input);
80 self
81 }
82 pub fn set_key_group_config(mut self, input: ::std::option::Option<crate::types::KeyGroupConfig>) -> Self {
84 self.key_group_config = input;
85 self
86 }
87 pub fn get_key_group_config(&self) -> &::std::option::Option<crate::types::KeyGroupConfig> {
89 &self.key_group_config
90 }
91 pub fn build(self) -> ::std::result::Result<crate::types::KeyGroup, ::aws_smithy_types::error::operation::BuildError> {
96 ::std::result::Result::Ok(crate::types::KeyGroup {
97 id: self.id.ok_or_else(|| {
98 ::aws_smithy_types::error::operation::BuildError::missing_field(
99 "id",
100 "id was not specified but it is required when building KeyGroup",
101 )
102 })?,
103 last_modified_time: self.last_modified_time.ok_or_else(|| {
104 ::aws_smithy_types::error::operation::BuildError::missing_field(
105 "last_modified_time",
106 "last_modified_time was not specified but it is required when building KeyGroup",
107 )
108 })?,
109 key_group_config: self.key_group_config,
110 })
111 }
112}