aws_sdk_ec2/operation/create_fpga_image/
_create_fpga_image_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateFpgaImageInput {
6 pub dry_run: ::std::option::Option<bool>,
8 pub input_storage_location: ::std::option::Option<crate::types::StorageLocation>,
10 pub logs_storage_location: ::std::option::Option<crate::types::StorageLocation>,
12 pub description: ::std::option::Option<::std::string::String>,
14 pub name: ::std::option::Option<::std::string::String>,
16 pub client_token: ::std::option::Option<::std::string::String>,
18 pub tag_specifications: ::std::option::Option<::std::vec::Vec<crate::types::TagSpecification>>,
20}
21impl CreateFpgaImageInput {
22 pub fn dry_run(&self) -> ::std::option::Option<bool> {
24 self.dry_run
25 }
26 pub fn input_storage_location(&self) -> ::std::option::Option<&crate::types::StorageLocation> {
28 self.input_storage_location.as_ref()
29 }
30 pub fn logs_storage_location(&self) -> ::std::option::Option<&crate::types::StorageLocation> {
32 self.logs_storage_location.as_ref()
33 }
34 pub fn description(&self) -> ::std::option::Option<&str> {
36 self.description.as_deref()
37 }
38 pub fn name(&self) -> ::std::option::Option<&str> {
40 self.name.as_deref()
41 }
42 pub fn client_token(&self) -> ::std::option::Option<&str> {
44 self.client_token.as_deref()
45 }
46 pub fn tag_specifications(&self) -> &[crate::types::TagSpecification] {
50 self.tag_specifications.as_deref().unwrap_or_default()
51 }
52}
53impl CreateFpgaImageInput {
54 pub fn builder() -> crate::operation::create_fpga_image::builders::CreateFpgaImageInputBuilder {
56 crate::operation::create_fpga_image::builders::CreateFpgaImageInputBuilder::default()
57 }
58}
59
60#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
62#[non_exhaustive]
63pub struct CreateFpgaImageInputBuilder {
64 pub(crate) dry_run: ::std::option::Option<bool>,
65 pub(crate) input_storage_location: ::std::option::Option<crate::types::StorageLocation>,
66 pub(crate) logs_storage_location: ::std::option::Option<crate::types::StorageLocation>,
67 pub(crate) description: ::std::option::Option<::std::string::String>,
68 pub(crate) name: ::std::option::Option<::std::string::String>,
69 pub(crate) client_token: ::std::option::Option<::std::string::String>,
70 pub(crate) tag_specifications: ::std::option::Option<::std::vec::Vec<crate::types::TagSpecification>>,
71}
72impl CreateFpgaImageInputBuilder {
73 pub fn dry_run(mut self, input: bool) -> Self {
75 self.dry_run = ::std::option::Option::Some(input);
76 self
77 }
78 pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
80 self.dry_run = input;
81 self
82 }
83 pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
85 &self.dry_run
86 }
87 pub fn input_storage_location(mut self, input: crate::types::StorageLocation) -> Self {
90 self.input_storage_location = ::std::option::Option::Some(input);
91 self
92 }
93 pub fn set_input_storage_location(mut self, input: ::std::option::Option<crate::types::StorageLocation>) -> Self {
95 self.input_storage_location = input;
96 self
97 }
98 pub fn get_input_storage_location(&self) -> &::std::option::Option<crate::types::StorageLocation> {
100 &self.input_storage_location
101 }
102 pub fn logs_storage_location(mut self, input: crate::types::StorageLocation) -> Self {
104 self.logs_storage_location = ::std::option::Option::Some(input);
105 self
106 }
107 pub fn set_logs_storage_location(mut self, input: ::std::option::Option<crate::types::StorageLocation>) -> Self {
109 self.logs_storage_location = input;
110 self
111 }
112 pub fn get_logs_storage_location(&self) -> &::std::option::Option<crate::types::StorageLocation> {
114 &self.logs_storage_location
115 }
116 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
118 self.description = ::std::option::Option::Some(input.into());
119 self
120 }
121 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
123 self.description = input;
124 self
125 }
126 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
128 &self.description
129 }
130 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
132 self.name = ::std::option::Option::Some(input.into());
133 self
134 }
135 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
137 self.name = input;
138 self
139 }
140 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
142 &self.name
143 }
144 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
146 self.client_token = ::std::option::Option::Some(input.into());
147 self
148 }
149 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
151 self.client_token = input;
152 self
153 }
154 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
156 &self.client_token
157 }
158 pub fn tag_specifications(mut self, input: crate::types::TagSpecification) -> Self {
164 let mut v = self.tag_specifications.unwrap_or_default();
165 v.push(input);
166 self.tag_specifications = ::std::option::Option::Some(v);
167 self
168 }
169 pub fn set_tag_specifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TagSpecification>>) -> Self {
171 self.tag_specifications = input;
172 self
173 }
174 pub fn get_tag_specifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TagSpecification>> {
176 &self.tag_specifications
177 }
178 pub fn build(
180 self,
181 ) -> ::std::result::Result<crate::operation::create_fpga_image::CreateFpgaImageInput, ::aws_smithy_types::error::operation::BuildError> {
182 ::std::result::Result::Ok(crate::operation::create_fpga_image::CreateFpgaImageInput {
183 dry_run: self.dry_run,
184 input_storage_location: self.input_storage_location,
185 logs_storage_location: self.logs_storage_location,
186 description: self.description,
187 name: self.name,
188 client_token: self.client_token,
189 tag_specifications: self.tag_specifications,
190 })
191 }
192}