1 + | // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2 + |
|
3 + | /// <p>Information about the association version.</p>
|
4 + | #[non_exhaustive]
|
5 + | #[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
|
6 + | pub struct AssociationVersionInfo {
|
7 + | /// <p>The ID created by the system when the association was created.</p>
|
8 + | pub association_id: ::std::option::Option<::std::string::String>,
|
9 + | /// <p>The association version.</p>
|
10 + | pub association_version: ::std::option::Option<::std::string::String>,
|
11 + | /// <p>The date the association version was created.</p>
|
12 + | pub created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
|
13 + | /// <p>The name specified when the association was created.</p>
|
14 + | pub name: ::std::option::Option<::std::string::String>,
|
15 + | /// <p>The version of an Amazon Web Services Systems Manager document (SSM document) used when the association version was created.</p>
|
16 + | pub document_version: ::std::option::Option<::std::string::String>,
|
17 + | /// <p>Parameters specified when the association version was created.</p>
|
18 + | pub parameters: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>,
|
19 + | /// <p>The targets specified for the association when the association version was created.</p>
|
20 + | pub targets: ::std::option::Option<::std::vec::Vec<crate::types::Target>>,
|
21 + | /// <p>The cron or rate schedule specified for the association when the association version was created.</p>
|
22 + | pub schedule_expression: ::std::option::Option<::std::string::String>,
|
23 + | /// <p>The location in Amazon S3 specified for the association when the association version was created.</p>
|
24 + | pub output_location: ::std::option::Option<crate::types::InstanceAssociationOutputLocation>,
|
25 + | /// <p>The name specified for the association version when the association version was created.</p>
|
26 + | pub association_name: ::std::option::Option<::std::string::String>,
|
27 + | /// <p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p>
|
28 + | /// <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>
|
29 + | pub max_errors: ::std::option::Option<::std::string::String>,
|
30 + | /// <p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p>
|
31 + | /// <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>
|
32 + | pub max_concurrency: ::std::option::Option<::std::string::String>,
|
33 + | /// <p>The severity level that is assigned to the association.</p>
|
34 + | pub compliance_severity: ::std::option::Option<crate::types::AssociationComplianceSeverity>,
|
35 + | /// <p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p>
|
36 + | /// <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <code>PutComplianceItems</code> API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the <code>PutComplianceItems</code> API operation.</p>
|
37 + | /// <p>By default, all associations use <code>AUTO</code> mode.</p>
|
38 + | pub sync_compliance: ::std::option::Option<crate::types::AssociationSyncCompliance>,
|
39 + | /// <p>By default, when you create new associations, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>
|
40 + | pub apply_only_at_cron_interval: bool,
|
41 + | /// <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations for this version only run when that Change Calendar is open. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon Web Services Systems Manager Change Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
|
42 + | pub calendar_names: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
|
43 + | /// <p>The combination of Amazon Web Services Regions and Amazon Web Services accounts where you wanted to run the association when this association version was created.</p>
|
44 + | pub target_locations: ::std::option::Option<::std::vec::Vec<crate::types::TargetLocation>>,
|
45 + | /// <p>Number of days to wait after the scheduled day to run an association.</p>
|
46 + | pub schedule_offset: ::std::option::Option<i32>,
|
47 + | /// <p>The number of hours that an association can run on specified targets. After the resulting cutoff time passes, associations that are currently running are cancelled, and no pending executions are started on remaining targets.</p>
|
48 + | pub duration: ::std::option::Option<i32>,
|
49 + | /// <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>
|
50 + | pub target_maps:
|
51 + | ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>>,
|
52 + | /// <p>A role used by association to take actions on your behalf. State Manager will assume this role and call required APIs when dispatching configurations to nodes. If not specified, <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html"> service-linked role for Systems Manager</a> will be used by default.</p>
|
53 + | pub association_dispatch_assume_role: ::std::option::Option<::std::string::String>,
|
54 + | }
|
55 + | impl AssociationVersionInfo {
|
56 + | /// <p>The ID created by the system when the association was created.</p>
|
57 + | pub fn association_id(&self) -> ::std::option::Option<&str> {
|
58 + | self.association_id.as_deref()
|
59 + | }
|
60 + | /// <p>The association version.</p>
|
61 + | pub fn association_version(&self) -> ::std::option::Option<&str> {
|
62 + | self.association_version.as_deref()
|
63 + | }
|
64 + | /// <p>The date the association version was created.</p>
|
65 + | pub fn created_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
|
66 + | self.created_date.as_ref()
|
67 + | }
|
68 + | /// <p>The name specified when the association was created.</p>
|
69 + | pub fn name(&self) -> ::std::option::Option<&str> {
|
70 + | self.name.as_deref()
|
71 + | }
|
72 + | /// <p>The version of an Amazon Web Services Systems Manager document (SSM document) used when the association version was created.</p>
|
73 + | pub fn document_version(&self) -> ::std::option::Option<&str> {
|
74 + | self.document_version.as_deref()
|
75 + | }
|
76 + | /// <p>Parameters specified when the association version was created.</p>
|
77 + | pub fn parameters(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>> {
|
78 + | self.parameters.as_ref()
|
79 + | }
|
80 + | /// <p>The targets specified for the association when the association version was created.</p>
|
81 + | ///
|
82 + | /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.targets.is_none()`.
|
83 + | pub fn targets(&self) -> &[crate::types::Target] {
|
84 + | self.targets.as_deref().unwrap_or_default()
|
85 + | }
|
86 + | /// <p>The cron or rate schedule specified for the association when the association version was created.</p>
|
87 + | pub fn schedule_expression(&self) -> ::std::option::Option<&str> {
|
88 + | self.schedule_expression.as_deref()
|
89 + | }
|
90 + | /// <p>The location in Amazon S3 specified for the association when the association version was created.</p>
|
91 + | pub fn output_location(&self) -> ::std::option::Option<&crate::types::InstanceAssociationOutputLocation> {
|
92 + | self.output_location.as_ref()
|
93 + | }
|
94 + | /// <p>The name specified for the association version when the association version was created.</p>
|
95 + | pub fn association_name(&self) -> ::std::option::Option<&str> {
|
96 + | self.association_name.as_deref()
|
97 + | }
|
98 + | /// <p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p>
|
99 + | /// <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>
|
100 + | pub fn max_errors(&self) -> ::std::option::Option<&str> {
|
101 + | self.max_errors.as_deref()
|
102 + | }
|
103 + | /// <p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p>
|
104 + | /// <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>
|
105 + | pub fn max_concurrency(&self) -> ::std::option::Option<&str> {
|
106 + | self.max_concurrency.as_deref()
|
107 + | }
|
108 + | /// <p>The severity level that is assigned to the association.</p>
|
109 + | pub fn compliance_severity(&self) -> ::std::option::Option<&crate::types::AssociationComplianceSeverity> {
|
110 + | self.compliance_severity.as_ref()
|
111 + | }
|
112 + | /// <p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p>
|
113 + | /// <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <code>PutComplianceItems</code> API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the <code>PutComplianceItems</code> API operation.</p>
|
114 + | /// <p>By default, all associations use <code>AUTO</code> mode.</p>
|
115 + | pub fn sync_compliance(&self) -> ::std::option::Option<&crate::types::AssociationSyncCompliance> {
|
116 + | self.sync_compliance.as_ref()
|
117 + | }
|
118 + | /// <p>By default, when you create new associations, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>
|
119 + | pub fn apply_only_at_cron_interval(&self) -> bool {
|
120 + | self.apply_only_at_cron_interval
|
121 + | }
|
122 + | /// <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations for this version only run when that Change Calendar is open. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon Web Services Systems Manager Change Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
|
123 + | ///
|
124 + | /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.calendar_names.is_none()`.
|
125 + | pub fn calendar_names(&self) -> &[::std::string::String] {
|
126 + | self.calendar_names.as_deref().unwrap_or_default()
|
127 + | }
|
128 + | /// <p>The combination of Amazon Web Services Regions and Amazon Web Services accounts where you wanted to run the association when this association version was created.</p>
|
129 + | ///
|
130 + | /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.target_locations.is_none()`.
|
131 + | pub fn target_locations(&self) -> &[crate::types::TargetLocation] {
|
132 + | self.target_locations.as_deref().unwrap_or_default()
|
133 + | }
|
134 + | /// <p>Number of days to wait after the scheduled day to run an association.</p>
|
135 + | pub fn schedule_offset(&self) -> ::std::option::Option<i32> {
|
136 + | self.schedule_offset
|
137 + | }
|
138 + | /// <p>The number of hours that an association can run on specified targets. After the resulting cutoff time passes, associations that are currently running are cancelled, and no pending executions are started on remaining targets.</p>
|
139 + | pub fn duration(&self) -> ::std::option::Option<i32> {
|
140 + | self.duration
|
141 + | }
|
142 + | /// <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>
|
143 + | ///
|
144 + | /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.target_maps.is_none()`.
|
145 + | pub fn target_maps(&self) -> &[::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>] {
|
146 + | self.target_maps.as_deref().unwrap_or_default()
|
147 + | }
|
148 + | /// <p>A role used by association to take actions on your behalf. State Manager will assume this role and call required APIs when dispatching configurations to nodes. If not specified, <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html"> service-linked role for Systems Manager</a> will be used by default.</p>
|
149 + | pub fn association_dispatch_assume_role(&self) -> ::std::option::Option<&str> {
|
150 + | self.association_dispatch_assume_role.as_deref()
|
151 + | }
|
152 + | }
|
153 + | impl ::std::fmt::Debug for AssociationVersionInfo {
|
154 + | fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
|
155 + | let mut formatter = f.debug_struct("AssociationVersionInfo");
|
156 + | formatter.field("association_id", &self.association_id);
|
157 + | formatter.field("association_version", &self.association_version);
|
158 + | formatter.field("created_date", &self.created_date);
|
159 + | formatter.field("name", &self.name);
|
160 + | formatter.field("document_version", &self.document_version);
|
161 + | formatter.field("parameters", &"*** Sensitive Data Redacted ***");
|
162 + | formatter.field("targets", &self.targets);
|
163 + | formatter.field("schedule_expression", &self.schedule_expression);
|
164 + | formatter.field("output_location", &self.output_location);
|
165 + | formatter.field("association_name", &self.association_name);
|
166 + | formatter.field("max_errors", &self.max_errors);
|
167 + | formatter.field("max_concurrency", &self.max_concurrency);
|
168 + | formatter.field("compliance_severity", &self.compliance_severity);
|
169 + | formatter.field("sync_compliance", &self.sync_compliance);
|
170 + | formatter.field("apply_only_at_cron_interval", &self.apply_only_at_cron_interval);
|
171 + | formatter.field("calendar_names", &self.calendar_names);
|
172 + | formatter.field("target_locations", &self.target_locations);
|
173 + | formatter.field("schedule_offset", &self.schedule_offset);
|
174 + | formatter.field("duration", &self.duration);
|
175 + | formatter.field("target_maps", &self.target_maps);
|
176 + | formatter.field("association_dispatch_assume_role", &self.association_dispatch_assume_role);
|
177 + | formatter.finish()
|
178 + | }
|
179 + | }
|
180 + | static ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
181 + | ::aws_smithy_schema::ShapeId::from_parts(
|
182 + | "com.amazonaws.ssm#AssociationVersionInfo$AssociationId",
|
183 + | "com.amazonaws.ssm",
|
184 + | "AssociationVersionInfo",
|
185 + | ),
|
186 + | ::aws_smithy_schema::ShapeType::String,
|
187 + | "AssociationId",
|
188 + | 0,
|
189 + | );
|
190 + | static ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_VERSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
191 + | ::aws_smithy_schema::ShapeId::from_parts(
|
192 + | "com.amazonaws.ssm#AssociationVersionInfo$AssociationVersion",
|
193 + | "com.amazonaws.ssm",
|
194 + | "AssociationVersionInfo",
|
195 + | ),
|
196 + | ::aws_smithy_schema::ShapeType::String,
|
197 + | "AssociationVersion",
|
198 + | 1,
|
199 + | );
|
200 + | static ASSOCIATIONVERSIONINFO_MEMBER_CREATED_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
201 + | ::aws_smithy_schema::ShapeId::from_parts(
|
202 + | "com.amazonaws.ssm#AssociationVersionInfo$CreatedDate",
|
203 + | "com.amazonaws.ssm",
|
204 + | "AssociationVersionInfo",
|
205 + | ),
|
206 + | ::aws_smithy_schema::ShapeType::Timestamp,
|
207 + | "CreatedDate",
|
208 + | 2,
|
209 + | );
|
210 + | static ASSOCIATIONVERSIONINFO_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
211 + | ::aws_smithy_schema::ShapeId::from_parts(
|
212 + | "com.amazonaws.ssm#AssociationVersionInfo$Name",
|
213 + | "com.amazonaws.ssm",
|
214 + | "AssociationVersionInfo",
|
215 + | ),
|
216 + | ::aws_smithy_schema::ShapeType::String,
|
217 + | "Name",
|
218 + | 3,
|
219 + | );
|
220 + | static ASSOCIATIONVERSIONINFO_MEMBER_DOCUMENT_VERSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
221 + | ::aws_smithy_schema::ShapeId::from_parts(
|
222 + | "com.amazonaws.ssm#AssociationVersionInfo$DocumentVersion",
|
223 + | "com.amazonaws.ssm",
|
224 + | "AssociationVersionInfo",
|
225 + | ),
|
226 + | ::aws_smithy_schema::ShapeType::String,
|
227 + | "DocumentVersion",
|
228 + | 4,
|
229 + | );
|
230 + | static ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS_VALUE_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
231 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#ParameterValueList$member", "com.amazonaws.ssm", "ParameterValueList"),
|
232 + | ::aws_smithy_schema::ShapeType::String,
|
233 + | "member",
|
234 + | 0,
|
235 + | );
|
236 + | static ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS_KEY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
237 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Parameters$key", "com.amazonaws.ssm", "Parameters"),
|
238 + | ::aws_smithy_schema::ShapeType::String,
|
239 + | "key",
|
240 + | 0,
|
241 + | );
|
242 + | static ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS_VALUE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
243 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Parameters$value", "com.amazonaws.ssm", "Parameters"),
|
244 + | ::aws_smithy_schema::ShapeType::List,
|
245 + | "value",
|
246 + | 1,
|
247 + | )
|
248 + | .with_list_member(&ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS_VALUE_MEMBER);
|
249 + | static ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
250 + | ::aws_smithy_schema::ShapeId::from_parts(
|
251 + | "com.amazonaws.ssm#AssociationVersionInfo$Parameters",
|
252 + | "com.amazonaws.ssm",
|
253 + | "AssociationVersionInfo",
|
254 + | ),
|
255 + | ::aws_smithy_schema::ShapeType::Map,
|
256 + | "Parameters",
|
257 + | 5,
|
258 + | )
|
259 + | .with_map_members(
|
260 + | &ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS_KEY,
|
261 + | &ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS_VALUE,
|
262 + | );
|
263 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGETS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
264 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Targets$member", "com.amazonaws.ssm", "Targets"),
|
265 + | ::aws_smithy_schema::ShapeType::Structure,
|
266 + | "member",
|
267 + | 0,
|
268 + | );
|
269 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGETS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
270 + | ::aws_smithy_schema::ShapeId::from_parts(
|
271 + | "com.amazonaws.ssm#AssociationVersionInfo$Targets",
|
272 + | "com.amazonaws.ssm",
|
273 + | "AssociationVersionInfo",
|
274 + | ),
|
275 + | ::aws_smithy_schema::ShapeType::List,
|
276 + | "Targets",
|
277 + | 6,
|
278 + | )
|
279 + | .with_list_member(&ASSOCIATIONVERSIONINFO_MEMBER_TARGETS_MEMBER);
|
280 + | static ASSOCIATIONVERSIONINFO_MEMBER_SCHEDULE_EXPRESSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
281 + | ::aws_smithy_schema::ShapeId::from_parts(
|
282 + | "com.amazonaws.ssm#AssociationVersionInfo$ScheduleExpression",
|
283 + | "com.amazonaws.ssm",
|
284 + | "AssociationVersionInfo",
|
285 + | ),
|
286 + | ::aws_smithy_schema::ShapeType::String,
|
287 + | "ScheduleExpression",
|
288 + | 7,
|
289 + | );
|
290 + | static ASSOCIATIONVERSIONINFO_MEMBER_OUTPUT_LOCATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
291 + | ::aws_smithy_schema::ShapeId::from_parts(
|
292 + | "com.amazonaws.ssm#AssociationVersionInfo$OutputLocation",
|
293 + | "com.amazonaws.ssm",
|
294 + | "AssociationVersionInfo",
|
295 + | ),
|
296 + | ::aws_smithy_schema::ShapeType::Structure,
|
297 + | "OutputLocation",
|
298 + | 8,
|
299 + | );
|
300 + | static ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
301 + | ::aws_smithy_schema::ShapeId::from_parts(
|
302 + | "com.amazonaws.ssm#AssociationVersionInfo$AssociationName",
|
303 + | "com.amazonaws.ssm",
|
304 + | "AssociationVersionInfo",
|
305 + | ),
|
306 + | ::aws_smithy_schema::ShapeType::String,
|
307 + | "AssociationName",
|
308 + | 9,
|
309 + | );
|
310 + | static ASSOCIATIONVERSIONINFO_MEMBER_MAX_ERRORS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
311 + | ::aws_smithy_schema::ShapeId::from_parts(
|
312 + | "com.amazonaws.ssm#AssociationVersionInfo$MaxErrors",
|
313 + | "com.amazonaws.ssm",
|
314 + | "AssociationVersionInfo",
|
315 + | ),
|
316 + | ::aws_smithy_schema::ShapeType::String,
|
317 + | "MaxErrors",
|
318 + | 10,
|
319 + | );
|
320 + | static ASSOCIATIONVERSIONINFO_MEMBER_MAX_CONCURRENCY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
321 + | ::aws_smithy_schema::ShapeId::from_parts(
|
322 + | "com.amazonaws.ssm#AssociationVersionInfo$MaxConcurrency",
|
323 + | "com.amazonaws.ssm",
|
324 + | "AssociationVersionInfo",
|
325 + | ),
|
326 + | ::aws_smithy_schema::ShapeType::String,
|
327 + | "MaxConcurrency",
|
328 + | 11,
|
329 + | );
|
330 + | static ASSOCIATIONVERSIONINFO_MEMBER_COMPLIANCE_SEVERITY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
331 + | ::aws_smithy_schema::ShapeId::from_parts(
|
332 + | "com.amazonaws.ssm#AssociationVersionInfo$ComplianceSeverity",
|
333 + | "com.amazonaws.ssm",
|
334 + | "AssociationVersionInfo",
|
335 + | ),
|
336 + | ::aws_smithy_schema::ShapeType::String,
|
337 + | "ComplianceSeverity",
|
338 + | 12,
|
339 + | );
|
340 + | static ASSOCIATIONVERSIONINFO_MEMBER_SYNC_COMPLIANCE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
341 + | ::aws_smithy_schema::ShapeId::from_parts(
|
342 + | "com.amazonaws.ssm#AssociationVersionInfo$SyncCompliance",
|
343 + | "com.amazonaws.ssm",
|
344 + | "AssociationVersionInfo",
|
345 + | ),
|
346 + | ::aws_smithy_schema::ShapeType::String,
|
347 + | "SyncCompliance",
|
348 + | 13,
|
349 + | );
|
350 + | static ASSOCIATIONVERSIONINFO_MEMBER_APPLY_ONLY_AT_CRON_INTERVAL: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
351 + | ::aws_smithy_schema::ShapeId::from_parts(
|
352 + | "com.amazonaws.ssm#AssociationVersionInfo$ApplyOnlyAtCronInterval",
|
353 + | "com.amazonaws.ssm",
|
354 + | "AssociationVersionInfo",
|
355 + | ),
|
356 + | ::aws_smithy_schema::ShapeType::Boolean,
|
357 + | "ApplyOnlyAtCronInterval",
|
358 + | 14,
|
359 + | );
|
360 + | static ASSOCIATIONVERSIONINFO_MEMBER_CALENDAR_NAMES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
361 + | ::aws_smithy_schema::ShapeId::from_parts(
|
362 + | "com.amazonaws.ssm#CalendarNameOrARNList$member",
|
363 + | "com.amazonaws.ssm",
|
364 + | "CalendarNameOrARNList",
|
365 + | ),
|
366 + | ::aws_smithy_schema::ShapeType::String,
|
367 + | "member",
|
368 + | 0,
|
369 + | );
|
370 + | static ASSOCIATIONVERSIONINFO_MEMBER_CALENDAR_NAMES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
371 + | ::aws_smithy_schema::ShapeId::from_parts(
|
372 + | "com.amazonaws.ssm#AssociationVersionInfo$CalendarNames",
|
373 + | "com.amazonaws.ssm",
|
374 + | "AssociationVersionInfo",
|
375 + | ),
|
376 + | ::aws_smithy_schema::ShapeType::List,
|
377 + | "CalendarNames",
|
378 + | 15,
|
379 + | )
|
380 + | .with_list_member(&ASSOCIATIONVERSIONINFO_MEMBER_CALENDAR_NAMES_MEMBER);
|
381 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGET_LOCATIONS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
382 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#TargetLocations$member", "com.amazonaws.ssm", "TargetLocations"),
|
383 + | ::aws_smithy_schema::ShapeType::Structure,
|
384 + | "member",
|
385 + | 0,
|
386 + | );
|
387 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGET_LOCATIONS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
388 + | ::aws_smithy_schema::ShapeId::from_parts(
|
389 + | "com.amazonaws.ssm#AssociationVersionInfo$TargetLocations",
|
390 + | "com.amazonaws.ssm",
|
391 + | "AssociationVersionInfo",
|
392 + | ),
|
393 + | ::aws_smithy_schema::ShapeType::List,
|
394 + | "TargetLocations",
|
395 + | 16,
|
396 + | )
|
397 + | .with_list_member(&ASSOCIATIONVERSIONINFO_MEMBER_TARGET_LOCATIONS_MEMBER);
|
398 + | static ASSOCIATIONVERSIONINFO_MEMBER_SCHEDULE_OFFSET: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
399 + | ::aws_smithy_schema::ShapeId::from_parts(
|
400 + | "com.amazonaws.ssm#AssociationVersionInfo$ScheduleOffset",
|
401 + | "com.amazonaws.ssm",
|
402 + | "AssociationVersionInfo",
|
403 + | ),
|
404 + | ::aws_smithy_schema::ShapeType::Integer,
|
405 + | "ScheduleOffset",
|
406 + | 17,
|
407 + | );
|
408 + | static ASSOCIATIONVERSIONINFO_MEMBER_DURATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
409 + | ::aws_smithy_schema::ShapeId::from_parts(
|
410 + | "com.amazonaws.ssm#AssociationVersionInfo$Duration",
|
411 + | "com.amazonaws.ssm",
|
412 + | "AssociationVersionInfo",
|
413 + | ),
|
414 + | ::aws_smithy_schema::ShapeType::Integer,
|
415 + | "Duration",
|
416 + | 18,
|
417 + | );
|
418 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER_VALUE_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
419 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#TargetMapValueList$member", "com.amazonaws.ssm", "TargetMapValueList"),
|
420 + | ::aws_smithy_schema::ShapeType::String,
|
421 + | "member",
|
422 + | 0,
|
423 + | );
|
424 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER_KEY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
425 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#TargetMap$key", "com.amazonaws.ssm", "TargetMap"),
|
426 + | ::aws_smithy_schema::ShapeType::String,
|
427 + | "key",
|
428 + | 0,
|
429 + | );
|
430 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER_VALUE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
431 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#TargetMap$value", "com.amazonaws.ssm", "TargetMap"),
|
432 + | ::aws_smithy_schema::ShapeType::List,
|
433 + | "value",
|
434 + | 1,
|
435 + | )
|
436 + | .with_list_member(&ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER_VALUE_MEMBER);
|
437 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
438 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#TargetMaps$member", "com.amazonaws.ssm", "TargetMaps"),
|
439 + | ::aws_smithy_schema::ShapeType::Map,
|
440 + | "member",
|
441 + | 0,
|
442 + | )
|
443 + | .with_map_members(
|
444 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER_KEY,
|
445 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER_VALUE,
|
446 + | );
|
447 + | static ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
448 + | ::aws_smithy_schema::ShapeId::from_parts(
|
449 + | "com.amazonaws.ssm#AssociationVersionInfo$TargetMaps",
|
450 + | "com.amazonaws.ssm",
|
451 + | "AssociationVersionInfo",
|
452 + | ),
|
453 + | ::aws_smithy_schema::ShapeType::List,
|
454 + | "TargetMaps",
|
455 + | 19,
|
456 + | )
|
457 + | .with_list_member(&ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER);
|
458 + | static ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_DISPATCH_ASSUME_ROLE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
|
459 + | ::aws_smithy_schema::ShapeId::from_parts(
|
460 + | "com.amazonaws.ssm#AssociationVersionInfo$AssociationDispatchAssumeRole",
|
461 + | "com.amazonaws.ssm",
|
462 + | "AssociationVersionInfo",
|
463 + | ),
|
464 + | ::aws_smithy_schema::ShapeType::String,
|
465 + | "AssociationDispatchAssumeRole",
|
466 + | 20,
|
467 + | );
|
468 + | static ASSOCIATIONVERSIONINFO_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
|
469 + | ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#AssociationVersionInfo", "com.amazonaws.ssm", "AssociationVersionInfo"),
|
470 + | ::aws_smithy_schema::ShapeType::Structure,
|
471 + | &[
|
472 + | &ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_ID,
|
473 + | &ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_VERSION,
|
474 + | &ASSOCIATIONVERSIONINFO_MEMBER_CREATED_DATE,
|
475 + | &ASSOCIATIONVERSIONINFO_MEMBER_NAME,
|
476 + | &ASSOCIATIONVERSIONINFO_MEMBER_DOCUMENT_VERSION,
|
477 + | &ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS,
|
478 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGETS,
|
479 + | &ASSOCIATIONVERSIONINFO_MEMBER_SCHEDULE_EXPRESSION,
|
480 + | &ASSOCIATIONVERSIONINFO_MEMBER_OUTPUT_LOCATION,
|
481 + | &ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_NAME,
|
482 + | &ASSOCIATIONVERSIONINFO_MEMBER_MAX_ERRORS,
|
483 + | &ASSOCIATIONVERSIONINFO_MEMBER_MAX_CONCURRENCY,
|
484 + | &ASSOCIATIONVERSIONINFO_MEMBER_COMPLIANCE_SEVERITY,
|
485 + | &ASSOCIATIONVERSIONINFO_MEMBER_SYNC_COMPLIANCE,
|
486 + | &ASSOCIATIONVERSIONINFO_MEMBER_APPLY_ONLY_AT_CRON_INTERVAL,
|
487 + | &ASSOCIATIONVERSIONINFO_MEMBER_CALENDAR_NAMES,
|
488 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGET_LOCATIONS,
|
489 + | &ASSOCIATIONVERSIONINFO_MEMBER_SCHEDULE_OFFSET,
|
490 + | &ASSOCIATIONVERSIONINFO_MEMBER_DURATION,
|
491 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS,
|
492 + | &ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_DISPATCH_ASSUME_ROLE,
|
493 + | ],
|
494 + | );
|
495 + | impl AssociationVersionInfo {
|
496 + | /// The schema for this shape.
|
497 + | pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &ASSOCIATIONVERSIONINFO_SCHEMA;
|
498 + | }
|
499 + | impl ::aws_smithy_schema::serde::SerializableStruct for AssociationVersionInfo {
|
500 + | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
501 + | fn serialize_members(
|
502 + | &self,
|
503 + | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
504 + | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
505 + | if let Some(ref val) = self.association_id {
|
506 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_ID, val)?;
|
507 + | }
|
508 + | if let Some(ref val) = self.association_version {
|
509 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_VERSION, val)?;
|
510 + | }
|
511 + | if let Some(ref val) = self.created_date {
|
512 + | ser.write_timestamp(&ASSOCIATIONVERSIONINFO_MEMBER_CREATED_DATE, val)?;
|
513 + | }
|
514 + | if let Some(ref val) = self.name {
|
515 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_NAME, val)?;
|
516 + | }
|
517 + | if let Some(ref val) = self.document_version {
|
518 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_DOCUMENT_VERSION, val)?;
|
519 + | }
|
520 + | if let Some(ref val) = self.parameters {
|
521 + | ser.write_map(
|
522 + | &ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS,
|
523 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
524 + | for (key, value) in val {
|
525 + | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
526 + |
|
527 + | ser.write_list(
|
528 + | &ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS_VALUE,
|
529 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
530 + | for item in value {
|
531 + | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
532 + | }
|
533 + | Ok(())
|
534 + | },
|
535 + | )?;
|
536 + | }
|
537 + | Ok(())
|
538 + | },
|
539 + | )?;
|
540 + | }
|
541 + | if let Some(ref val) = self.targets {
|
542 + | ser.write_list(
|
543 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGETS,
|
544 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
545 + | for item in val {
|
546 + | ser.write_struct(crate::types::Target::SCHEMA, item)?;
|
547 + | }
|
548 + | Ok(())
|
549 + | },
|
550 + | )?;
|
551 + | }
|
552 + | if let Some(ref val) = self.schedule_expression {
|
553 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_SCHEDULE_EXPRESSION, val)?;
|
554 + | }
|
555 + | if let Some(ref val) = self.output_location {
|
556 + | ser.write_struct(&ASSOCIATIONVERSIONINFO_MEMBER_OUTPUT_LOCATION, val)?;
|
557 + | }
|
558 + | if let Some(ref val) = self.association_name {
|
559 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_NAME, val)?;
|
560 + | }
|
561 + | if let Some(ref val) = self.max_errors {
|
562 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_MAX_ERRORS, val)?;
|
563 + | }
|
564 + | if let Some(ref val) = self.max_concurrency {
|
565 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_MAX_CONCURRENCY, val)?;
|
566 + | }
|
567 + | if let Some(ref val) = self.compliance_severity {
|
568 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_COMPLIANCE_SEVERITY, val.as_str())?;
|
569 + | }
|
570 + | if let Some(ref val) = self.sync_compliance {
|
571 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_SYNC_COMPLIANCE, val.as_str())?;
|
572 + | }
|
573 + | {
|
574 + | let val = &self.apply_only_at_cron_interval;
|
575 + | ser.write_boolean(&ASSOCIATIONVERSIONINFO_MEMBER_APPLY_ONLY_AT_CRON_INTERVAL, *val)?;
|
576 + | }
|
577 + | if let Some(ref val) = self.calendar_names {
|
578 + | ser.write_list(
|
579 + | &ASSOCIATIONVERSIONINFO_MEMBER_CALENDAR_NAMES,
|
580 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
581 + | for item in val {
|
582 + | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
583 + | }
|
584 + | Ok(())
|
585 + | },
|
586 + | )?;
|
587 + | }
|
588 + | if let Some(ref val) = self.target_locations {
|
589 + | ser.write_list(
|
590 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGET_LOCATIONS,
|
591 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
592 + | for item in val {
|
593 + | ser.write_struct(crate::types::TargetLocation::SCHEMA, item)?;
|
594 + | }
|
595 + | Ok(())
|
596 + | },
|
597 + | )?;
|
598 + | }
|
599 + | if let Some(ref val) = self.schedule_offset {
|
600 + | ser.write_integer(&ASSOCIATIONVERSIONINFO_MEMBER_SCHEDULE_OFFSET, *val)?;
|
601 + | }
|
602 + | if let Some(ref val) = self.duration {
|
603 + | ser.write_integer(&ASSOCIATIONVERSIONINFO_MEMBER_DURATION, *val)?;
|
604 + | }
|
605 + | if let Some(ref val) = self.target_maps {
|
606 + | ser.write_list(
|
607 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS,
|
608 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
609 + | for item in val {
|
610 + | ser.write_map(
|
611 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER,
|
612 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
613 + | for (key, value) in item {
|
614 + | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
615 + |
|
616 + | ser.write_list(
|
617 + | &ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER_VALUE,
|
618 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
619 + | for item in value {
|
620 + | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
621 + | }
|
622 + | Ok(())
|
623 + | },
|
624 + | )?;
|
625 + | }
|
626 + | Ok(())
|
627 + | },
|
628 + | )?;
|
629 + | }
|
630 + | Ok(())
|
631 + | },
|
632 + | )?;
|
633 + | }
|
634 + | if let Some(ref val) = self.association_dispatch_assume_role {
|
635 + | ser.write_string(&ASSOCIATIONVERSIONINFO_MEMBER_ASSOCIATION_DISPATCH_ASSUME_ROLE, val)?;
|
636 + | }
|
637 + | Ok(())
|
638 + | }
|
639 + | }
|
640 + | impl AssociationVersionInfo {
|
641 + | /// Deserializes this structure from a [`ShapeDeserializer`].
|
642 + | pub fn deserialize(
|
643 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
644 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
645 + | #[allow(unused_variables, unused_mut)]
|
646 + | let mut builder = Self::builder();
|
647 + | #[allow(
|
648 + | unused_variables,
|
649 + | unreachable_code,
|
650 + | clippy::single_match,
|
651 + | clippy::match_single_binding,
|
652 + | clippy::diverging_sub_expression
|
653 + | )]
|
654 + | deserializer.read_struct(&ASSOCIATIONVERSIONINFO_SCHEMA, &mut |member, deser| {
|
655 + | match member.member_index() {
|
656 + | Some(0) => {
|
657 + | if deser.is_null() {
|
658 + | deser.read_null()?;
|
659 + | } else {
|
660 + | builder.association_id = Some(deser.read_string(member)?);
|
661 + | }
|
662 + | }
|
663 + | Some(1) => {
|
664 + | if deser.is_null() {
|
665 + | deser.read_null()?;
|
666 + | } else {
|
667 + | builder.association_version = Some(deser.read_string(member)?);
|
668 + | }
|
669 + | }
|
670 + | Some(2) => {
|
671 + | if deser.is_null() {
|
672 + | deser.read_null()?;
|
673 + | } else {
|
674 + | builder.created_date = Some(deser.read_timestamp(member)?);
|
675 + | }
|
676 + | }
|
677 + | Some(3) => {
|
678 + | if deser.is_null() {
|
679 + | deser.read_null()?;
|
680 + | } else {
|
681 + | builder.name = Some(deser.read_string(member)?);
|
682 + | }
|
683 + | }
|
684 + | Some(4) => {
|
685 + | if deser.is_null() {
|
686 + | deser.read_null()?;
|
687 + | } else {
|
688 + | builder.document_version = Some(deser.read_string(member)?);
|
689 + | }
|
690 + | }
|
691 + | Some(5) => {
|
692 + | if deser.is_null() {
|
693 + | deser.read_null()?;
|
694 + | } else {
|
695 + | builder.parameters = Some({
|
696 + | let mut container = std::collections::HashMap::new();
|
697 + | deser.read_map(member, &mut |key, deser| {
|
698 + | container.insert(key, {
|
699 + | let mut list = Vec::new();
|
700 + | deser.read_list(&ASSOCIATIONVERSIONINFO_MEMBER_PARAMETERS_VALUE, &mut |deser| {
|
701 + | list.push(deser.read_string(&::aws_smithy_schema::prelude::STRING)?);
|
702 + | Ok(())
|
703 + | })?;
|
704 + | list
|
705 + | });
|
706 + | Ok(())
|
707 + | })?;
|
708 + | container
|
709 + | });
|
710 + | }
|
711 + | }
|
712 + | Some(6) => {
|
713 + | if deser.is_null() {
|
714 + | deser.read_null()?;
|
715 + | } else {
|
716 + | builder.targets = Some({
|
717 + | let mut container = Vec::new();
|
718 + | deser.read_list(member, &mut |deser| {
|
719 + | container.push(crate::types::Target::deserialize(deser)?);
|
720 + | Ok(())
|
721 + | })?;
|
722 + | container
|
723 + | });
|
724 + | }
|
725 + | }
|
726 + | Some(7) => {
|
727 + | if deser.is_null() {
|
728 + | deser.read_null()?;
|
729 + | } else {
|
730 + | builder.schedule_expression = Some(deser.read_string(member)?);
|
731 + | }
|
732 + | }
|
733 + | Some(8) => {
|
734 + | if deser.is_null() {
|
735 + | deser.read_null()?;
|
736 + | } else {
|
737 + | builder.output_location = Some(crate::types::InstanceAssociationOutputLocation::deserialize(deser)?);
|
738 + | }
|
739 + | }
|
740 + | Some(9) => {
|
741 + | if deser.is_null() {
|
742 + | deser.read_null()?;
|
743 + | } else {
|
744 + | builder.association_name = Some(deser.read_string(member)?);
|
745 + | }
|
746 + | }
|
747 + | Some(10) => {
|
748 + | if deser.is_null() {
|
749 + | deser.read_null()?;
|
750 + | } else {
|
751 + | builder.max_errors = Some(deser.read_string(member)?);
|
752 + | }
|
753 + | }
|
754 + | Some(11) => {
|
755 + | if deser.is_null() {
|
756 + | deser.read_null()?;
|
757 + | } else {
|
758 + | builder.max_concurrency = Some(deser.read_string(member)?);
|
759 + | }
|
760 + | }
|
761 + | Some(12) => {
|
762 + | if deser.is_null() {
|
763 + | deser.read_null()?;
|
764 + | } else {
|
765 + | builder.compliance_severity = Some(crate::types::AssociationComplianceSeverity::from(deser.read_string(member)?.as_str()));
|
766 + | }
|
767 + | }
|
768 + | Some(13) => {
|
769 + | if deser.is_null() {
|
770 + | deser.read_null()?;
|
771 + | } else {
|
772 + | builder.sync_compliance = Some(crate::types::AssociationSyncCompliance::from(deser.read_string(member)?.as_str()));
|
773 + | }
|
774 + | }
|
775 + | Some(14) => {
|
776 + | builder.apply_only_at_cron_interval = Some(deser.read_boolean(member)?);
|
777 + | }
|
778 + | Some(15) => {
|
779 + | if deser.is_null() {
|
780 + | deser.read_null()?;
|
781 + | } else {
|
782 + | builder.calendar_names = Some(deser.read_string_list(member)?);
|
783 + | }
|
784 + | }
|
785 + | Some(16) => {
|
786 + | if deser.is_null() {
|
787 + | deser.read_null()?;
|
788 + | } else {
|
789 + | builder.target_locations = Some({
|
790 + | let mut container = Vec::new();
|
791 + | deser.read_list(member, &mut |deser| {
|
792 + | container.push(crate::types::TargetLocation::deserialize(deser)?);
|
793 + | Ok(())
|
794 + | })?;
|
795 + | container
|
796 + | });
|
797 + | }
|
798 + | }
|
799 + | Some(17) => {
|
800 + | if deser.is_null() {
|
801 + | deser.read_null()?;
|
802 + | } else {
|
803 + | builder.schedule_offset = Some(deser.read_integer(member)?);
|
804 + | }
|
805 + | }
|
806 + | Some(18) => {
|
807 + | if deser.is_null() {
|
808 + | deser.read_null()?;
|
809 + | } else {
|
810 + | builder.duration = Some(deser.read_integer(member)?);
|
811 + | }
|
812 + | }
|
813 + | Some(19) => {
|
814 + | if deser.is_null() {
|
815 + | deser.read_null()?;
|
816 + | } else {
|
817 + | builder.target_maps = Some({
|
818 + | let mut container = Vec::new();
|
819 + | deser.read_list(member, &mut |deser| {
|
820 + | container.push({
|
821 + | let mut map = ::std::collections::HashMap::new();
|
822 + | deser.read_map(&ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER, &mut |key, deser| {
|
823 + | let value = {
|
824 + | let mut list = Vec::new();
|
825 + | deser.read_list(&ASSOCIATIONVERSIONINFO_MEMBER_TARGET_MAPS_MEMBER_VALUE, &mut |deser| {
|
826 + | list.push(deser.read_string(&::aws_smithy_schema::prelude::STRING)?);
|
827 + | Ok(())
|
828 + | })?;
|
829 + | list
|
830 + | };
|
831 + | map.insert(key, value);
|
832 + | Ok(())
|
833 + | })?;
|
834 + | map
|
835 + | });
|
836 + | Ok(())
|
837 + | })?;
|
838 + | container
|
839 + | });
|
840 + | }
|
841 + | }
|
842 + | Some(20) => {
|
843 + | if deser.is_null() {
|
844 + | deser.read_null()?;
|
845 + | } else {
|
846 + | builder.association_dispatch_assume_role = Some(deser.read_string(member)?);
|
847 + | }
|
848 + | }
|
849 + | _ => {}
|
850 + | }
|
851 + | Ok(())
|
852 + | })?;
|
853 + | Ok(builder.build())
|
854 + | }
|
855 + | }
|
856 + | impl AssociationVersionInfo {
|
857 + | /// Deserializes this structure from a body deserializer and HTTP response.
|
858 + | pub fn deserialize_with_response(
|
859 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
860 + | _headers: &::aws_smithy_runtime_api::http::Headers,
|
861 + | _status: u16,
|
862 + | _body: &[u8],
|
863 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
864 + | Self::deserialize(deserializer)
|
865 + | }
|
866 + | }
|
867 + | impl AssociationVersionInfo {
|
868 + | /// Creates a new builder-style object to manufacture [`AssociationVersionInfo`](crate::types::AssociationVersionInfo).
|
869 + | pub fn builder() -> crate::types::builders::AssociationVersionInfoBuilder {
|
870 + | crate::types::builders::AssociationVersionInfoBuilder::default()
|
871 + | }
|
872 + | }
|
873 + |
|
874 + | /// A builder for [`AssociationVersionInfo`](crate::types::AssociationVersionInfo).
|
875 + | #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
|
876 + | #[non_exhaustive]
|
877 + | pub struct AssociationVersionInfoBuilder {
|
878 + | pub(crate) association_id: ::std::option::Option<::std::string::String>,
|
879 + | pub(crate) association_version: ::std::option::Option<::std::string::String>,
|
880 + | pub(crate) created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
|
881 + | pub(crate) name: ::std::option::Option<::std::string::String>,
|
882 + | pub(crate) document_version: ::std::option::Option<::std::string::String>,
|
883 + | pub(crate) parameters: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>,
|
884 + | pub(crate) targets: ::std::option::Option<::std::vec::Vec<crate::types::Target>>,
|
885 + | pub(crate) schedule_expression: ::std::option::Option<::std::string::String>,
|
886 + | pub(crate) output_location: ::std::option::Option<crate::types::InstanceAssociationOutputLocation>,
|
887 + | pub(crate) association_name: ::std::option::Option<::std::string::String>,
|
888 + | pub(crate) max_errors: ::std::option::Option<::std::string::String>,
|
889 + | pub(crate) max_concurrency: ::std::option::Option<::std::string::String>,
|
890 + | pub(crate) compliance_severity: ::std::option::Option<crate::types::AssociationComplianceSeverity>,
|
891 + | pub(crate) sync_compliance: ::std::option::Option<crate::types::AssociationSyncCompliance>,
|
892 + | pub(crate) apply_only_at_cron_interval: ::std::option::Option<bool>,
|
893 + | pub(crate) calendar_names: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
|
894 + | pub(crate) target_locations: ::std::option::Option<::std::vec::Vec<crate::types::TargetLocation>>,
|
895 + | pub(crate) schedule_offset: ::std::option::Option<i32>,
|
896 + | pub(crate) duration: ::std::option::Option<i32>,
|
897 + | pub(crate) target_maps:
|
898 + | ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>>,
|
899 + | pub(crate) association_dispatch_assume_role: ::std::option::Option<::std::string::String>,
|
900 + | }
|
901 + | impl AssociationVersionInfoBuilder {
|
902 + | /// <p>The ID created by the system when the association was created.</p>
|
903 + | pub fn association_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
904 + | self.association_id = ::std::option::Option::Some(input.into());
|
905 + | self
|
906 + | }
|
907 + | /// <p>The ID created by the system when the association was created.</p>
|
908 + | pub fn set_association_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
909 + | self.association_id = input;
|
910 + | self
|
911 + | }
|
912 + | /// <p>The ID created by the system when the association was created.</p>
|
913 + | pub fn get_association_id(&self) -> &::std::option::Option<::std::string::String> {
|
914 + | &self.association_id
|
915 + | }
|
916 + | /// <p>The association version.</p>
|
917 + | pub fn association_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
918 + | self.association_version = ::std::option::Option::Some(input.into());
|
919 + | self
|
920 + | }
|
921 + | /// <p>The association version.</p>
|
922 + | pub fn set_association_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
923 + | self.association_version = input;
|
924 + | self
|
925 + | }
|
926 + | /// <p>The association version.</p>
|
927 + | pub fn get_association_version(&self) -> &::std::option::Option<::std::string::String> {
|
928 + | &self.association_version
|
929 + | }
|
930 + | /// <p>The date the association version was created.</p>
|
931 + | pub fn created_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
|
932 + | self.created_date = ::std::option::Option::Some(input);
|
933 + | self
|
934 + | }
|
935 + | /// <p>The date the association version was created.</p>
|
936 + | pub fn set_created_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
|
937 + | self.created_date = input;
|
938 + | self
|
939 + | }
|
940 + | /// <p>The date the association version was created.</p>
|
941 + | pub fn get_created_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
|
942 + | &self.created_date
|
943 + | }
|
944 + | /// <p>The name specified when the association was created.</p>
|
945 + | pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
946 + | self.name = ::std::option::Option::Some(input.into());
|
947 + | self
|
948 + | }
|
949 + | /// <p>The name specified when the association was created.</p>
|
950 + | pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
951 + | self.name = input;
|
952 + | self
|
953 + | }
|
954 + | /// <p>The name specified when the association was created.</p>
|
955 + | pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
|
956 + | &self.name
|
957 + | }
|
958 + | /// <p>The version of an Amazon Web Services Systems Manager document (SSM document) used when the association version was created.</p>
|
959 + | pub fn document_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
960 + | self.document_version = ::std::option::Option::Some(input.into());
|
961 + | self
|
962 + | }
|
963 + | /// <p>The version of an Amazon Web Services Systems Manager document (SSM document) used when the association version was created.</p>
|
964 + | pub fn set_document_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
965 + | self.document_version = input;
|
966 + | self
|
967 + | }
|
968 + | /// <p>The version of an Amazon Web Services Systems Manager document (SSM document) used when the association version was created.</p>
|
969 + | pub fn get_document_version(&self) -> &::std::option::Option<::std::string::String> {
|
970 + | &self.document_version
|
971 + | }
|
972 + | /// Adds a key-value pair to `parameters`.
|
973 + | ///
|
974 + | /// To override the contents of this collection use [`set_parameters`](Self::set_parameters).
|
975 + | ///
|
976 + | /// <p>Parameters specified when the association version was created.</p>
|
977 + | pub fn parameters(mut self, k: impl ::std::convert::Into<::std::string::String>, v: ::std::vec::Vec<::std::string::String>) -> Self {
|
978 + | let mut hash_map = self.parameters.unwrap_or_default();
|
979 + | hash_map.insert(k.into(), v);
|
980 + | self.parameters = ::std::option::Option::Some(hash_map);
|
981 + | self
|
982 + | }
|
983 + | /// <p>Parameters specified when the association version was created.</p>
|
984 + | pub fn set_parameters(
|
985 + | mut self,
|
986 + | input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>,
|
987 + | ) -> Self {
|
988 + | self.parameters = input;
|
989 + | self
|
990 + | }
|
991 + | /// <p>Parameters specified when the association version was created.</p>
|
992 + | pub fn get_parameters(
|
993 + | &self,
|
994 + | ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>> {
|
995 + | &self.parameters
|
996 + | }
|
997 + | /// Appends an item to `targets`.
|
998 + | ///
|
999 + | /// To override the contents of this collection use [`set_targets`](Self::set_targets).
|
1000 + | ///
|
1001 + | /// <p>The targets specified for the association when the association version was created.</p>
|
1002 + | pub fn targets(mut self, input: crate::types::Target) -> Self {
|
1003 + | let mut v = self.targets.unwrap_or_default();
|
1004 + | v.push(input);
|
1005 + | self.targets = ::std::option::Option::Some(v);
|
1006 + | self
|
1007 + | }
|
1008 + | /// <p>The targets specified for the association when the association version was created.</p>
|
1009 + | pub fn set_targets(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Target>>) -> Self {
|
1010 + | self.targets = input;
|
1011 + | self
|
1012 + | }
|
1013 + | /// <p>The targets specified for the association when the association version was created.</p>
|
1014 + | pub fn get_targets(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Target>> {
|
1015 + | &self.targets
|
1016 + | }
|
1017 + | /// <p>The cron or rate schedule specified for the association when the association version was created.</p>
|
1018 + | pub fn schedule_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
1019 + | self.schedule_expression = ::std::option::Option::Some(input.into());
|
1020 + | self
|
1021 + | }
|
1022 + | /// <p>The cron or rate schedule specified for the association when the association version was created.</p>
|
1023 + | pub fn set_schedule_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
1024 + | self.schedule_expression = input;
|
1025 + | self
|
1026 + | }
|
1027 + | /// <p>The cron or rate schedule specified for the association when the association version was created.</p>
|
1028 + | pub fn get_schedule_expression(&self) -> &::std::option::Option<::std::string::String> {
|
1029 + | &self.schedule_expression
|
1030 + | }
|
1031 + | /// <p>The location in Amazon S3 specified for the association when the association version was created.</p>
|
1032 + | pub fn output_location(mut self, input: crate::types::InstanceAssociationOutputLocation) -> Self {
|
1033 + | self.output_location = ::std::option::Option::Some(input);
|
1034 + | self
|
1035 + | }
|
1036 + | /// <p>The location in Amazon S3 specified for the association when the association version was created.</p>
|
1037 + | pub fn set_output_location(mut self, input: ::std::option::Option<crate::types::InstanceAssociationOutputLocation>) -> Self {
|
1038 + | self.output_location = input;
|
1039 + | self
|
1040 + | }
|
1041 + | /// <p>The location in Amazon S3 specified for the association when the association version was created.</p>
|
1042 + | pub fn get_output_location(&self) -> &::std::option::Option<crate::types::InstanceAssociationOutputLocation> {
|
1043 + | &self.output_location
|
1044 + | }
|
1045 + | /// <p>The name specified for the association version when the association version was created.</p>
|
1046 + | pub fn association_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
1047 + | self.association_name = ::std::option::Option::Some(input.into());
|
1048 + | self
|
1049 + | }
|
1050 + | /// <p>The name specified for the association version when the association version was created.</p>
|
1051 + | pub fn set_association_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
1052 + | self.association_name = input;
|
1053 + | self
|
1054 + | }
|
1055 + | /// <p>The name specified for the association version when the association version was created.</p>
|
1056 + | pub fn get_association_name(&self) -> &::std::option::Option<::std::string::String> {
|
1057 + | &self.association_name
|
1058 + | }
|
1059 + | /// <p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p>
|
1060 + | /// <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>
|
1061 + | pub fn max_errors(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
1062 + | self.max_errors = ::std::option::Option::Some(input.into());
|
1063 + | self
|
1064 + | }
|
1065 + | /// <p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p>
|
1066 + | /// <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>
|
1067 + | pub fn set_max_errors(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
1068 + | self.max_errors = input;
|
1069 + | self
|
1070 + | }
|
1071 + | /// <p>The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request when the sixth error is received.</p>
|
1072 + | /// <p>Executions that are already running an association when <code>MaxErrors</code> is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that executions proceed one at a time.</p>
|
1073 + | pub fn get_max_errors(&self) -> &::std::option::Option<::std::string::String> {
|
1074 + | &self.max_errors
|
1075 + | }
|
1076 + | /// <p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p>
|
1077 + | /// <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>
|
1078 + | pub fn max_concurrency(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
1079 + | self.max_concurrency = ::std::option::Option::Some(input.into());
|
1080 + | self
|
1081 + | }
|
1082 + | /// <p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p>
|
1083 + | /// <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>
|
1084 + | pub fn set_max_concurrency(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
1085 + | self.max_concurrency = input;
|
1086 + | self
|
1087 + | }
|
1088 + | /// <p>The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.</p>
|
1089 + | /// <p>If a new managed node starts and attempts to run an association while Systems Manager is running <code>MaxConcurrency</code> associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for <code>MaxConcurrency</code>.</p>
|
1090 + | pub fn get_max_concurrency(&self) -> &::std::option::Option<::std::string::String> {
|
1091 + | &self.max_concurrency
|
1092 + | }
|
1093 + | /// <p>The severity level that is assigned to the association.</p>
|
1094 + | pub fn compliance_severity(mut self, input: crate::types::AssociationComplianceSeverity) -> Self {
|
1095 + | self.compliance_severity = ::std::option::Option::Some(input);
|
1096 + | self
|
1097 + | }
|
1098 + | /// <p>The severity level that is assigned to the association.</p>
|
1099 + | pub fn set_compliance_severity(mut self, input: ::std::option::Option<crate::types::AssociationComplianceSeverity>) -> Self {
|
1100 + | self.compliance_severity = input;
|
1101 + | self
|
1102 + | }
|
1103 + | /// <p>The severity level that is assigned to the association.</p>
|
1104 + | pub fn get_compliance_severity(&self) -> &::std::option::Option<crate::types::AssociationComplianceSeverity> {
|
1105 + | &self.compliance_severity
|
1106 + | }
|
1107 + | /// <p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p>
|
1108 + | /// <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <code>PutComplianceItems</code> API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the <code>PutComplianceItems</code> API operation.</p>
|
1109 + | /// <p>By default, all associations use <code>AUTO</code> mode.</p>
|
1110 + | pub fn sync_compliance(mut self, input: crate::types::AssociationSyncCompliance) -> Self {
|
1111 + | self.sync_compliance = ::std::option::Option::Some(input);
|
1112 + | self
|
1113 + | }
|
1114 + | /// <p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p>
|
1115 + | /// <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <code>PutComplianceItems</code> API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the <code>PutComplianceItems</code> API operation.</p>
|
1116 + | /// <p>By default, all associations use <code>AUTO</code> mode.</p>
|
1117 + | pub fn set_sync_compliance(mut self, input: ::std::option::Option<crate::types::AssociationSyncCompliance>) -> Self {
|
1118 + | self.sync_compliance = input;
|
1119 + | self
|
1120 + | }
|
1121 + | /// <p>The mode for generating association compliance. You can specify <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is <code>COMPLIANT</code>. If the association execution doesn't run successfully, the association is <code>NON-COMPLIANT</code>.</p>
|
1122 + | /// <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter for the <code>PutComplianceItems</code> API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the <code>PutComplianceItems</code> API operation.</p>
|
1123 + | /// <p>By default, all associations use <code>AUTO</code> mode.</p>
|
1124 + | pub fn get_sync_compliance(&self) -> &::std::option::Option<crate::types::AssociationSyncCompliance> {
|
1125 + | &self.sync_compliance
|
1126 + | }
|
1127 + | /// <p>By default, when you create new associations, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>
|
1128 + | pub fn apply_only_at_cron_interval(mut self, input: bool) -> Self {
|
1129 + | self.apply_only_at_cron_interval = ::std::option::Option::Some(input);
|
1130 + | self
|
1131 + | }
|
1132 + | /// <p>By default, when you create new associations, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>
|
1133 + | pub fn set_apply_only_at_cron_interval(mut self, input: ::std::option::Option<bool>) -> Self {
|
1134 + | self.apply_only_at_cron_interval = input;
|
1135 + | self
|
1136 + | }
|
1137 + | /// <p>By default, when you create new associations, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.</p>
|
1138 + | pub fn get_apply_only_at_cron_interval(&self) -> &::std::option::Option<bool> {
|
1139 + | &self.apply_only_at_cron_interval
|
1140 + | }
|
1141 + | /// Appends an item to `calendar_names`.
|
1142 + | ///
|
1143 + | /// To override the contents of this collection use [`set_calendar_names`](Self::set_calendar_names).
|
1144 + | ///
|
1145 + | /// <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations for this version only run when that Change Calendar is open. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon Web Services Systems Manager Change Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
|
1146 + | pub fn calendar_names(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
1147 + | let mut v = self.calendar_names.unwrap_or_default();
|
1148 + | v.push(input.into());
|
1149 + | self.calendar_names = ::std::option::Option::Some(v);
|
1150 + | self
|
1151 + | }
|
1152 + | /// <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations for this version only run when that Change Calendar is open. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon Web Services Systems Manager Change Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
|
1153 + | pub fn set_calendar_names(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
|
1154 + | self.calendar_names = input;
|
1155 + | self
|
1156 + | }
|
1157 + | /// <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations for this version only run when that Change Calendar is open. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon Web Services Systems Manager Change Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
|
1158 + | pub fn get_calendar_names(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
|
1159 + | &self.calendar_names
|
1160 + | }
|
1161 + | /// Appends an item to `target_locations`.
|
1162 + | ///
|
1163 + | /// To override the contents of this collection use [`set_target_locations`](Self::set_target_locations).
|
1164 + | ///
|
1165 + | /// <p>The combination of Amazon Web Services Regions and Amazon Web Services accounts where you wanted to run the association when this association version was created.</p>
|
1166 + | pub fn target_locations(mut self, input: crate::types::TargetLocation) -> Self {
|
1167 + | let mut v = self.target_locations.unwrap_or_default();
|
1168 + | v.push(input);
|
1169 + | self.target_locations = ::std::option::Option::Some(v);
|
1170 + | self
|
1171 + | }
|
1172 + | /// <p>The combination of Amazon Web Services Regions and Amazon Web Services accounts where you wanted to run the association when this association version was created.</p>
|
1173 + | pub fn set_target_locations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TargetLocation>>) -> Self {
|
1174 + | self.target_locations = input;
|
1175 + | self
|
1176 + | }
|
1177 + | /// <p>The combination of Amazon Web Services Regions and Amazon Web Services accounts where you wanted to run the association when this association version was created.</p>
|
1178 + | pub fn get_target_locations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TargetLocation>> {
|
1179 + | &self.target_locations
|
1180 + | }
|
1181 + | /// <p>Number of days to wait after the scheduled day to run an association.</p>
|
1182 + | pub fn schedule_offset(mut self, input: i32) -> Self {
|
1183 + | self.schedule_offset = ::std::option::Option::Some(input);
|
1184 + | self
|
1185 + | }
|
1186 + | /// <p>Number of days to wait after the scheduled day to run an association.</p>
|
1187 + | pub fn set_schedule_offset(mut self, input: ::std::option::Option<i32>) -> Self {
|
1188 + | self.schedule_offset = input;
|
1189 + | self
|
1190 + | }
|
1191 + | /// <p>Number of days to wait after the scheduled day to run an association.</p>
|
1192 + | pub fn get_schedule_offset(&self) -> &::std::option::Option<i32> {
|
1193 + | &self.schedule_offset
|
1194 + | }
|
1195 + | /// <p>The number of hours that an association can run on specified targets. After the resulting cutoff time passes, associations that are currently running are cancelled, and no pending executions are started on remaining targets.</p>
|
1196 + | pub fn duration(mut self, input: i32) -> Self {
|
1197 + | self.duration = ::std::option::Option::Some(input);
|
1198 + | self
|
1199 + | }
|
1200 + | /// <p>The number of hours that an association can run on specified targets. After the resulting cutoff time passes, associations that are currently running are cancelled, and no pending executions are started on remaining targets.</p>
|
1201 + | pub fn set_duration(mut self, input: ::std::option::Option<i32>) -> Self {
|
1202 + | self.duration = input;
|
1203 + | self
|
1204 + | }
|
1205 + | /// <p>The number of hours that an association can run on specified targets. After the resulting cutoff time passes, associations that are currently running are cancelled, and no pending executions are started on remaining targets.</p>
|
1206 + | pub fn get_duration(&self) -> &::std::option::Option<i32> {
|
1207 + | &self.duration
|
1208 + | }
|
1209 + | /// Appends an item to `target_maps`.
|
1210 + | ///
|
1211 + | /// To override the contents of this collection use [`set_target_maps`](Self::set_target_maps).
|
1212 + | ///
|
1213 + | /// <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>
|
1214 + | pub fn target_maps(mut self, input: ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>) -> Self {
|
1215 + | let mut v = self.target_maps.unwrap_or_default();
|
1216 + | v.push(input);
|
1217 + | self.target_maps = ::std::option::Option::Some(v);
|
1218 + | self
|
1219 + | }
|
1220 + | /// <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>
|
1221 + | pub fn set_target_maps(
|
1222 + | mut self,
|
1223 + | input: ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>>,
|
1224 + | ) -> Self {
|
1225 + | self.target_maps = input;
|
1226 + | self
|
1227 + | }
|
1228 + | /// <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>
|
1229 + | pub fn get_target_maps(
|
1230 + | &self,
|
1231 + | ) -> &::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>> {
|
1232 + | &self.target_maps
|
1233 + | }
|
1234 + | /// <p>A role used by association to take actions on your behalf. State Manager will assume this role and call required APIs when dispatching configurations to nodes. If not specified, <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html"> service-linked role for Systems Manager</a> will be used by default.</p>
|
1235 + | pub fn association_dispatch_assume_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
|
1236 + | self.association_dispatch_assume_role = ::std::option::Option::Some(input.into());
|
1237 + | self
|
1238 + | }
|
1239 + | /// <p>A role used by association to take actions on your behalf. State Manager will assume this role and call required APIs when dispatching configurations to nodes. If not specified, <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html"> service-linked role for Systems Manager</a> will be used by default.</p>
|
1240 + | pub fn set_association_dispatch_assume_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
|
1241 + | self.association_dispatch_assume_role = input;
|
1242 + | self
|
1243 + | }
|
1244 + | /// <p>A role used by association to take actions on your behalf. State Manager will assume this role and call required APIs when dispatching configurations to nodes. If not specified, <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html"> service-linked role for Systems Manager</a> will be used by default.</p>
|
1245 + | pub fn get_association_dispatch_assume_role(&self) -> &::std::option::Option<::std::string::String> {
|
1246 + | &self.association_dispatch_assume_role
|
1247 + | }
|
1248 + | /// Consumes the builder and constructs a [`AssociationVersionInfo`](crate::types::AssociationVersionInfo).
|
1249 + | pub fn build(self) -> crate::types::AssociationVersionInfo {
|
1250 + | crate::types::AssociationVersionInfo {
|
1251 + | association_id: self.association_id,
|
1252 + | association_version: self.association_version,
|
1253 + | created_date: self.created_date,
|
1254 + | name: self.name,
|
1255 + | document_version: self.document_version,
|
1256 + | parameters: self.parameters,
|
1257 + | targets: self.targets,
|
1258 + | schedule_expression: self.schedule_expression,
|
1259 + | output_location: self.output_location,
|
1260 + | association_name: self.association_name,
|
1261 + | max_errors: self.max_errors,
|
1262 + | max_concurrency: self.max_concurrency,
|
1263 + | compliance_severity: self.compliance_severity,
|
1264 + | sync_compliance: self.sync_compliance,
|
1265 + | apply_only_at_cron_interval: self.apply_only_at_cron_interval.unwrap_or_default(),
|
1266 + | calendar_names: self.calendar_names,
|
1267 + | target_locations: self.target_locations,
|
1268 + | schedule_offset: self.schedule_offset,
|
1269 + | duration: self.duration,
|
1270 + | target_maps: self.target_maps,
|
1271 + | association_dispatch_assume_role: self.association_dispatch_assume_role,
|
1272 + | }
|
1273 + | }
|
1274 + | }
|
1275 + | impl ::std::fmt::Debug for AssociationVersionInfoBuilder {
|
1276 + | fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
|
1277 + | let mut formatter = f.debug_struct("AssociationVersionInfoBuilder");
|
1278 + | formatter.field("association_id", &self.association_id);
|
1279 + | formatter.field("association_version", &self.association_version);
|
1280 + | formatter.field("created_date", &self.created_date);
|
1281 + | formatter.field("name", &self.name);
|
1282 + | formatter.field("document_version", &self.document_version);
|
1283 + | formatter.field("parameters", &"*** Sensitive Data Redacted ***");
|
1284 + | formatter.field("targets", &self.targets);
|
1285 + | formatter.field("schedule_expression", &self.schedule_expression);
|
1286 + | formatter.field("output_location", &self.output_location);
|
1287 + | formatter.field("association_name", &self.association_name);
|
1288 + | formatter.field("max_errors", &self.max_errors);
|
1289 + | formatter.field("max_concurrency", &self.max_concurrency);
|
1290 + | formatter.field("compliance_severity", &self.compliance_severity);
|
1291 + | formatter.field("sync_compliance", &self.sync_compliance);
|
1292 + | formatter.field("apply_only_at_cron_interval", &self.apply_only_at_cron_interval);
|
1293 + | formatter.field("calendar_names", &self.calendar_names);
|
1294 + | formatter.field("target_locations", &self.target_locations);
|
1295 + | formatter.field("schedule_offset", &self.schedule_offset);
|
1296 + | formatter.field("duration", &self.duration);
|
1297 + | formatter.field("target_maps", &self.target_maps);
|
1298 + | formatter.field("association_dispatch_assume_role", &self.association_dispatch_assume_role);
|
1299 + | formatter.finish()
|
1300 + | }
|
1301 + | }
|