aws_sdk_securityhub/types/_aws_ecs_task_definition_container_definitions_log_configuration_details.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>The log configuration specification for the container.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
7 /// <p>The log driver to use for the container.</p>
8 /// <p>Valid values on Fargate are as follows:</p>
9 /// <ul>
10 /// <li>
11 /// <p><code>awsfirelens</code></p></li>
12 /// <li>
13 /// <p><code>awslogs</code></p></li>
14 /// <li>
15 /// <p><code>splunk</code></p></li>
16 /// </ul>
17 /// <p>Valid values on Amazon EC2 are as follows:</p>
18 /// <ul>
19 /// <li>
20 /// <p><code>awsfirelens</code></p></li>
21 /// <li>
22 /// <p><code>awslogs</code></p></li>
23 /// <li>
24 /// <p><code>fluentd</code></p></li>
25 /// <li>
26 /// <p><code>gelf</code></p></li>
27 /// <li>
28 /// <p><code>journald</code></p></li>
29 /// <li>
30 /// <p><code>json-file</code></p></li>
31 /// <li>
32 /// <p><code>logentries</code></p></li>
33 /// <li>
34 /// <p><code>splunk</code></p></li>
35 /// <li>
36 /// <p><code>syslog</code></p></li>
37 /// </ul>
38 pub log_driver: ::std::option::Option<::std::string::String>,
39 /// <p>The configuration options to send to the log driver. Requires version 1.19 of the Docker Remote API or greater on your container instance.</p>
40 pub options: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
41 /// <p>The secrets to pass to the log configuration.</p>
42 pub secret_options:
43 ::std::option::Option<::std::vec::Vec<crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails>>,
44}
45impl AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
46 /// <p>The log driver to use for the container.</p>
47 /// <p>Valid values on Fargate are as follows:</p>
48 /// <ul>
49 /// <li>
50 /// <p><code>awsfirelens</code></p></li>
51 /// <li>
52 /// <p><code>awslogs</code></p></li>
53 /// <li>
54 /// <p><code>splunk</code></p></li>
55 /// </ul>
56 /// <p>Valid values on Amazon EC2 are as follows:</p>
57 /// <ul>
58 /// <li>
59 /// <p><code>awsfirelens</code></p></li>
60 /// <li>
61 /// <p><code>awslogs</code></p></li>
62 /// <li>
63 /// <p><code>fluentd</code></p></li>
64 /// <li>
65 /// <p><code>gelf</code></p></li>
66 /// <li>
67 /// <p><code>journald</code></p></li>
68 /// <li>
69 /// <p><code>json-file</code></p></li>
70 /// <li>
71 /// <p><code>logentries</code></p></li>
72 /// <li>
73 /// <p><code>splunk</code></p></li>
74 /// <li>
75 /// <p><code>syslog</code></p></li>
76 /// </ul>
77 pub fn log_driver(&self) -> ::std::option::Option<&str> {
78 self.log_driver.as_deref()
79 }
80 /// <p>The configuration options to send to the log driver. Requires version 1.19 of the Docker Remote API or greater on your container instance.</p>
81 pub fn options(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
82 self.options.as_ref()
83 }
84 /// <p>The secrets to pass to the log configuration.</p>
85 ///
86 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.secret_options.is_none()`.
87 pub fn secret_options(&self) -> &[crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails] {
88 self.secret_options.as_deref().unwrap_or_default()
89 }
90}
91impl AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
92 /// Creates a new builder-style object to manufacture [`AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails`](crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails).
93 pub fn builder() -> crate::types::builders::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetailsBuilder {
94 crate::types::builders::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetailsBuilder::default()
95 }
96}
97
98/// A builder for [`AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails`](crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails).
99#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
100#[non_exhaustive]
101pub struct AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetailsBuilder {
102 pub(crate) log_driver: ::std::option::Option<::std::string::String>,
103 pub(crate) options: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
104 pub(crate) secret_options:
105 ::std::option::Option<::std::vec::Vec<crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails>>,
106}
107impl AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetailsBuilder {
108 /// <p>The log driver to use for the container.</p>
109 /// <p>Valid values on Fargate are as follows:</p>
110 /// <ul>
111 /// <li>
112 /// <p><code>awsfirelens</code></p></li>
113 /// <li>
114 /// <p><code>awslogs</code></p></li>
115 /// <li>
116 /// <p><code>splunk</code></p></li>
117 /// </ul>
118 /// <p>Valid values on Amazon EC2 are as follows:</p>
119 /// <ul>
120 /// <li>
121 /// <p><code>awsfirelens</code></p></li>
122 /// <li>
123 /// <p><code>awslogs</code></p></li>
124 /// <li>
125 /// <p><code>fluentd</code></p></li>
126 /// <li>
127 /// <p><code>gelf</code></p></li>
128 /// <li>
129 /// <p><code>journald</code></p></li>
130 /// <li>
131 /// <p><code>json-file</code></p></li>
132 /// <li>
133 /// <p><code>logentries</code></p></li>
134 /// <li>
135 /// <p><code>splunk</code></p></li>
136 /// <li>
137 /// <p><code>syslog</code></p></li>
138 /// </ul>
139 pub fn log_driver(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
140 self.log_driver = ::std::option::Option::Some(input.into());
141 self
142 }
143 /// <p>The log driver to use for the container.</p>
144 /// <p>Valid values on Fargate are as follows:</p>
145 /// <ul>
146 /// <li>
147 /// <p><code>awsfirelens</code></p></li>
148 /// <li>
149 /// <p><code>awslogs</code></p></li>
150 /// <li>
151 /// <p><code>splunk</code></p></li>
152 /// </ul>
153 /// <p>Valid values on Amazon EC2 are as follows:</p>
154 /// <ul>
155 /// <li>
156 /// <p><code>awsfirelens</code></p></li>
157 /// <li>
158 /// <p><code>awslogs</code></p></li>
159 /// <li>
160 /// <p><code>fluentd</code></p></li>
161 /// <li>
162 /// <p><code>gelf</code></p></li>
163 /// <li>
164 /// <p><code>journald</code></p></li>
165 /// <li>
166 /// <p><code>json-file</code></p></li>
167 /// <li>
168 /// <p><code>logentries</code></p></li>
169 /// <li>
170 /// <p><code>splunk</code></p></li>
171 /// <li>
172 /// <p><code>syslog</code></p></li>
173 /// </ul>
174 pub fn set_log_driver(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175 self.log_driver = input;
176 self
177 }
178 /// <p>The log driver to use for the container.</p>
179 /// <p>Valid values on Fargate are as follows:</p>
180 /// <ul>
181 /// <li>
182 /// <p><code>awsfirelens</code></p></li>
183 /// <li>
184 /// <p><code>awslogs</code></p></li>
185 /// <li>
186 /// <p><code>splunk</code></p></li>
187 /// </ul>
188 /// <p>Valid values on Amazon EC2 are as follows:</p>
189 /// <ul>
190 /// <li>
191 /// <p><code>awsfirelens</code></p></li>
192 /// <li>
193 /// <p><code>awslogs</code></p></li>
194 /// <li>
195 /// <p><code>fluentd</code></p></li>
196 /// <li>
197 /// <p><code>gelf</code></p></li>
198 /// <li>
199 /// <p><code>journald</code></p></li>
200 /// <li>
201 /// <p><code>json-file</code></p></li>
202 /// <li>
203 /// <p><code>logentries</code></p></li>
204 /// <li>
205 /// <p><code>splunk</code></p></li>
206 /// <li>
207 /// <p><code>syslog</code></p></li>
208 /// </ul>
209 pub fn get_log_driver(&self) -> &::std::option::Option<::std::string::String> {
210 &self.log_driver
211 }
212 /// Adds a key-value pair to `options`.
213 ///
214 /// To override the contents of this collection use [`set_options`](Self::set_options).
215 ///
216 /// <p>The configuration options to send to the log driver. Requires version 1.19 of the Docker Remote API or greater on your container instance.</p>
217 pub fn options(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
218 let mut hash_map = self.options.unwrap_or_default();
219 hash_map.insert(k.into(), v.into());
220 self.options = ::std::option::Option::Some(hash_map);
221 self
222 }
223 /// <p>The configuration options to send to the log driver. Requires version 1.19 of the Docker Remote API or greater on your container instance.</p>
224 pub fn set_options(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
225 self.options = input;
226 self
227 }
228 /// <p>The configuration options to send to the log driver. Requires version 1.19 of the Docker Remote API or greater on your container instance.</p>
229 pub fn get_options(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
230 &self.options
231 }
232 /// Appends an item to `secret_options`.
233 ///
234 /// To override the contents of this collection use [`set_secret_options`](Self::set_secret_options).
235 ///
236 /// <p>The secrets to pass to the log configuration.</p>
237 pub fn secret_options(mut self, input: crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) -> Self {
238 let mut v = self.secret_options.unwrap_or_default();
239 v.push(input);
240 self.secret_options = ::std::option::Option::Some(v);
241 self
242 }
243 /// <p>The secrets to pass to the log configuration.</p>
244 pub fn set_secret_options(
245 mut self,
246 input: ::std::option::Option<::std::vec::Vec<crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails>>,
247 ) -> Self {
248 self.secret_options = input;
249 self
250 }
251 /// <p>The secrets to pass to the log configuration.</p>
252 pub fn get_secret_options(
253 &self,
254 ) -> &::std::option::Option<::std::vec::Vec<crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails>> {
255 &self.secret_options
256 }
257 /// Consumes the builder and constructs a [`AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails`](crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails).
258 pub fn build(self) -> crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
259 crate::types::AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
260 log_driver: self.log_driver,
261 options: self.options,
262 secret_options: self.secret_options,
263 }
264 }
265}