1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/ssm/SSM_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSMap.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/ssm/model/InstanceAssociationOutputLocation.h>
12 #include <aws/ssm/model/AssociationComplianceSeverity.h>
13 #include <aws/ssm/model/AssociationSyncCompliance.h>
14 #include <aws/ssm/model/Target.h>
15 #include <aws/ssm/model/TargetLocation.h>
16 #include <utility>
17 
18 namespace Aws
19 {
20 namespace Utils
21 {
22 namespace Json
23 {
24   class JsonValue;
25   class JsonView;
26 } // namespace Json
27 } // namespace Utils
28 namespace SSM
29 {
30 namespace Model
31 {
32 
33   /**
34    * <p>Describes the association of a Amazon Web Services Systems Manager document
35    * (SSM document) and an instance.</p><p><h3>See Also:</h3>   <a
36    * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatchRequestEntry">AWS
37    * API Reference</a></p>
38    */
39   class AWS_SSM_API CreateAssociationBatchRequestEntry
40   {
41   public:
42     CreateAssociationBatchRequestEntry();
43     CreateAssociationBatchRequestEntry(Aws::Utils::Json::JsonView jsonValue);
44     CreateAssociationBatchRequestEntry& operator=(Aws::Utils::Json::JsonView jsonValue);
45     Aws::Utils::Json::JsonValue Jsonize() const;
46 
47 
48     /**
49      * <p>The name of the SSM document that contains the configuration information for
50      * the instance. You can specify Command or Automation runbooks.</p> <p>You can
51      * specify Amazon Web Services-predefined documents, documents you created, or a
52      * document that is shared with you from another account.</p> <p>For SSM documents
53      * that are shared with you from other Amazon Web Services accounts, you must
54      * specify the complete SSM document ARN, in the following format:</p> <p>
55      * <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
56      * </code> </p> <p>For example:</p> <p>
57      * <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
58      * <p>For Amazon Web Services-predefined documents and SSM documents you created in
59      * your account, you only need to specify the document name. For example,
60      * <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
61      */
GetName()62     inline const Aws::String& GetName() const{ return m_name; }
63 
64     /**
65      * <p>The name of the SSM document that contains the configuration information for
66      * the instance. You can specify Command or Automation runbooks.</p> <p>You can
67      * specify Amazon Web Services-predefined documents, documents you created, or a
68      * document that is shared with you from another account.</p> <p>For SSM documents
69      * that are shared with you from other Amazon Web Services accounts, you must
70      * specify the complete SSM document ARN, in the following format:</p> <p>
71      * <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
72      * </code> </p> <p>For example:</p> <p>
73      * <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
74      * <p>For Amazon Web Services-predefined documents and SSM documents you created in
75      * your account, you only need to specify the document name. For example,
76      * <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
77      */
NameHasBeenSet()78     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
79 
80     /**
81      * <p>The name of the SSM document that contains the configuration information for
82      * the instance. You can specify Command or Automation runbooks.</p> <p>You can
83      * specify Amazon Web Services-predefined documents, documents you created, or a
84      * document that is shared with you from another account.</p> <p>For SSM documents
85      * that are shared with you from other Amazon Web Services accounts, you must
86      * specify the complete SSM document ARN, in the following format:</p> <p>
87      * <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
88      * </code> </p> <p>For example:</p> <p>
89      * <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
90      * <p>For Amazon Web Services-predefined documents and SSM documents you created in
91      * your account, you only need to specify the document name. For example,
92      * <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
93      */
SetName(const Aws::String & value)94     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
95 
96     /**
97      * <p>The name of the SSM document that contains the configuration information for
98      * the instance. You can specify Command or Automation runbooks.</p> <p>You can
99      * specify Amazon Web Services-predefined documents, documents you created, or a
100      * document that is shared with you from another account.</p> <p>For SSM documents
101      * that are shared with you from other Amazon Web Services accounts, you must
102      * specify the complete SSM document ARN, in the following format:</p> <p>
103      * <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
104      * </code> </p> <p>For example:</p> <p>
105      * <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
106      * <p>For Amazon Web Services-predefined documents and SSM documents you created in
107      * your account, you only need to specify the document name. For example,
108      * <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
109      */
SetName(Aws::String && value)110     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
111 
112     /**
113      * <p>The name of the SSM document that contains the configuration information for
114      * the instance. You can specify Command or Automation runbooks.</p> <p>You can
115      * specify Amazon Web Services-predefined documents, documents you created, or a
116      * document that is shared with you from another account.</p> <p>For SSM documents
117      * that are shared with you from other Amazon Web Services accounts, you must
118      * specify the complete SSM document ARN, in the following format:</p> <p>
119      * <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
120      * </code> </p> <p>For example:</p> <p>
121      * <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
122      * <p>For Amazon Web Services-predefined documents and SSM documents you created in
123      * your account, you only need to specify the document name. For example,
124      * <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
125      */
SetName(const char * value)126     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
127 
128     /**
129      * <p>The name of the SSM document that contains the configuration information for
130      * the instance. You can specify Command or Automation runbooks.</p> <p>You can
131      * specify Amazon Web Services-predefined documents, documents you created, or a
132      * document that is shared with you from another account.</p> <p>For SSM documents
133      * that are shared with you from other Amazon Web Services accounts, you must
134      * specify the complete SSM document ARN, in the following format:</p> <p>
135      * <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
136      * </code> </p> <p>For example:</p> <p>
137      * <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
138      * <p>For Amazon Web Services-predefined documents and SSM documents you created in
139      * your account, you only need to specify the document name. For example,
140      * <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
141      */
WithName(const Aws::String & value)142     inline CreateAssociationBatchRequestEntry& WithName(const Aws::String& value) { SetName(value); return *this;}
143 
144     /**
145      * <p>The name of the SSM document that contains the configuration information for
146      * the instance. You can specify Command or Automation runbooks.</p> <p>You can
147      * specify Amazon Web Services-predefined documents, documents you created, or a
148      * document that is shared with you from another account.</p> <p>For SSM documents
149      * that are shared with you from other Amazon Web Services accounts, you must
150      * specify the complete SSM document ARN, in the following format:</p> <p>
151      * <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
152      * </code> </p> <p>For example:</p> <p>
153      * <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
154      * <p>For Amazon Web Services-predefined documents and SSM documents you created in
155      * your account, you only need to specify the document name. For example,
156      * <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
157      */
WithName(Aws::String && value)158     inline CreateAssociationBatchRequestEntry& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
159 
160     /**
161      * <p>The name of the SSM document that contains the configuration information for
162      * the instance. You can specify Command or Automation runbooks.</p> <p>You can
163      * specify Amazon Web Services-predefined documents, documents you created, or a
164      * document that is shared with you from another account.</p> <p>For SSM documents
165      * that are shared with you from other Amazon Web Services accounts, you must
166      * specify the complete SSM document ARN, in the following format:</p> <p>
167      * <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
168      * </code> </p> <p>For example:</p> <p>
169      * <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
170      * <p>For Amazon Web Services-predefined documents and SSM documents you created in
171      * your account, you only need to specify the document name. For example,
172      * <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
173      */
WithName(const char * value)174     inline CreateAssociationBatchRequestEntry& WithName(const char* value) { SetName(value); return *this;}
175 
176 
177     /**
178      * <p>The instance ID.</p>  <p> <code>InstanceId</code> has been deprecated.
179      * To specify an instance ID for an association, use the <code>Targets</code>
180      * parameter. Requests that include the parameter <code>InstanceID</code> with
181      * Systems Manager documents (SSM documents) that use schema version 2.0 or later
182      * will fail. In addition, if you use the parameter <code>InstanceId</code>, you
183      * can't use the parameters <code>AssociationName</code>,
184      * <code>DocumentVersion</code>, <code>MaxErrors</code>,
185      * <code>MaxConcurrency</code>, <code>OutputLocation</code>, or
186      * <code>ScheduleExpression</code>. To use these parameters, you must use the
187      * <code>Targets</code> parameter.</p>
188      */
GetInstanceId()189     inline const Aws::String& GetInstanceId() const{ return m_instanceId; }
190 
191     /**
192      * <p>The instance ID.</p>  <p> <code>InstanceId</code> has been deprecated.
193      * To specify an instance ID for an association, use the <code>Targets</code>
194      * parameter. Requests that include the parameter <code>InstanceID</code> with
195      * Systems Manager documents (SSM documents) that use schema version 2.0 or later
196      * will fail. In addition, if you use the parameter <code>InstanceId</code>, you
197      * can't use the parameters <code>AssociationName</code>,
198      * <code>DocumentVersion</code>, <code>MaxErrors</code>,
199      * <code>MaxConcurrency</code>, <code>OutputLocation</code>, or
200      * <code>ScheduleExpression</code>. To use these parameters, you must use the
201      * <code>Targets</code> parameter.</p>
202      */
InstanceIdHasBeenSet()203     inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
204 
205     /**
206      * <p>The instance ID.</p>  <p> <code>InstanceId</code> has been deprecated.
207      * To specify an instance ID for an association, use the <code>Targets</code>
208      * parameter. Requests that include the parameter <code>InstanceID</code> with
209      * Systems Manager documents (SSM documents) that use schema version 2.0 or later
210      * will fail. In addition, if you use the parameter <code>InstanceId</code>, you
211      * can't use the parameters <code>AssociationName</code>,
212      * <code>DocumentVersion</code>, <code>MaxErrors</code>,
213      * <code>MaxConcurrency</code>, <code>OutputLocation</code>, or
214      * <code>ScheduleExpression</code>. To use these parameters, you must use the
215      * <code>Targets</code> parameter.</p>
216      */
SetInstanceId(const Aws::String & value)217     inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
218 
219     /**
220      * <p>The instance ID.</p>  <p> <code>InstanceId</code> has been deprecated.
221      * To specify an instance ID for an association, use the <code>Targets</code>
222      * parameter. Requests that include the parameter <code>InstanceID</code> with
223      * Systems Manager documents (SSM documents) that use schema version 2.0 or later
224      * will fail. In addition, if you use the parameter <code>InstanceId</code>, you
225      * can't use the parameters <code>AssociationName</code>,
226      * <code>DocumentVersion</code>, <code>MaxErrors</code>,
227      * <code>MaxConcurrency</code>, <code>OutputLocation</code>, or
228      * <code>ScheduleExpression</code>. To use these parameters, you must use the
229      * <code>Targets</code> parameter.</p>
230      */
SetInstanceId(Aws::String && value)231     inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); }
232 
233     /**
234      * <p>The instance ID.</p>  <p> <code>InstanceId</code> has been deprecated.
235      * To specify an instance ID for an association, use the <code>Targets</code>
236      * parameter. Requests that include the parameter <code>InstanceID</code> with
237      * Systems Manager documents (SSM documents) that use schema version 2.0 or later
238      * will fail. In addition, if you use the parameter <code>InstanceId</code>, you
239      * can't use the parameters <code>AssociationName</code>,
240      * <code>DocumentVersion</code>, <code>MaxErrors</code>,
241      * <code>MaxConcurrency</code>, <code>OutputLocation</code>, or
242      * <code>ScheduleExpression</code>. To use these parameters, you must use the
243      * <code>Targets</code> parameter.</p>
244      */
SetInstanceId(const char * value)245     inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); }
246 
247     /**
248      * <p>The instance ID.</p>  <p> <code>InstanceId</code> has been deprecated.
249      * To specify an instance ID for an association, use the <code>Targets</code>
250      * parameter. Requests that include the parameter <code>InstanceID</code> with
251      * Systems Manager documents (SSM documents) that use schema version 2.0 or later
252      * will fail. In addition, if you use the parameter <code>InstanceId</code>, you
253      * can't use the parameters <code>AssociationName</code>,
254      * <code>DocumentVersion</code>, <code>MaxErrors</code>,
255      * <code>MaxConcurrency</code>, <code>OutputLocation</code>, or
256      * <code>ScheduleExpression</code>. To use these parameters, you must use the
257      * <code>Targets</code> parameter.</p>
258      */
WithInstanceId(const Aws::String & value)259     inline CreateAssociationBatchRequestEntry& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
260 
261     /**
262      * <p>The instance ID.</p>  <p> <code>InstanceId</code> has been deprecated.
263      * To specify an instance ID for an association, use the <code>Targets</code>
264      * parameter. Requests that include the parameter <code>InstanceID</code> with
265      * Systems Manager documents (SSM documents) that use schema version 2.0 or later
266      * will fail. In addition, if you use the parameter <code>InstanceId</code>, you
267      * can't use the parameters <code>AssociationName</code>,
268      * <code>DocumentVersion</code>, <code>MaxErrors</code>,
269      * <code>MaxConcurrency</code>, <code>OutputLocation</code>, or
270      * <code>ScheduleExpression</code>. To use these parameters, you must use the
271      * <code>Targets</code> parameter.</p>
272      */
WithInstanceId(Aws::String && value)273     inline CreateAssociationBatchRequestEntry& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
274 
275     /**
276      * <p>The instance ID.</p>  <p> <code>InstanceId</code> has been deprecated.
277      * To specify an instance ID for an association, use the <code>Targets</code>
278      * parameter. Requests that include the parameter <code>InstanceID</code> with
279      * Systems Manager documents (SSM documents) that use schema version 2.0 or later
280      * will fail. In addition, if you use the parameter <code>InstanceId</code>, you
281      * can't use the parameters <code>AssociationName</code>,
282      * <code>DocumentVersion</code>, <code>MaxErrors</code>,
283      * <code>MaxConcurrency</code>, <code>OutputLocation</code>, or
284      * <code>ScheduleExpression</code>. To use these parameters, you must use the
285      * <code>Targets</code> parameter.</p>
286      */
WithInstanceId(const char * value)287     inline CreateAssociationBatchRequestEntry& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
288 
289 
290     /**
291      * <p>A description of the parameters for a document. </p>
292      */
GetParameters()293     inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetParameters() const{ return m_parameters; }
294 
295     /**
296      * <p>A description of the parameters for a document. </p>
297      */
ParametersHasBeenSet()298     inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
299 
300     /**
301      * <p>A description of the parameters for a document. </p>
302      */
SetParameters(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)303     inline void SetParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
304 
305     /**
306      * <p>A description of the parameters for a document. </p>
307      */
SetParameters(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)308     inline void SetParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
309 
310     /**
311      * <p>A description of the parameters for a document. </p>
312      */
WithParameters(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)313     inline CreateAssociationBatchRequestEntry& WithParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetParameters(value); return *this;}
314 
315     /**
316      * <p>A description of the parameters for a document. </p>
317      */
WithParameters(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)318     inline CreateAssociationBatchRequestEntry& WithParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetParameters(std::move(value)); return *this;}
319 
320     /**
321      * <p>A description of the parameters for a document. </p>
322      */
AddParameters(const Aws::String & key,const Aws::Vector<Aws::String> & value)323     inline CreateAssociationBatchRequestEntry& AddParameters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
324 
325     /**
326      * <p>A description of the parameters for a document. </p>
327      */
AddParameters(Aws::String && key,const Aws::Vector<Aws::String> & value)328     inline CreateAssociationBatchRequestEntry& AddParameters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
329 
330     /**
331      * <p>A description of the parameters for a document. </p>
332      */
AddParameters(const Aws::String & key,Aws::Vector<Aws::String> && value)333     inline CreateAssociationBatchRequestEntry& AddParameters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
334 
335     /**
336      * <p>A description of the parameters for a document. </p>
337      */
AddParameters(Aws::String && key,Aws::Vector<Aws::String> && value)338     inline CreateAssociationBatchRequestEntry& AddParameters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
339 
340     /**
341      * <p>A description of the parameters for a document. </p>
342      */
AddParameters(const char * key,Aws::Vector<Aws::String> && value)343     inline CreateAssociationBatchRequestEntry& AddParameters(const char* key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
344 
345     /**
346      * <p>A description of the parameters for a document. </p>
347      */
AddParameters(const char * key,const Aws::Vector<Aws::String> & value)348     inline CreateAssociationBatchRequestEntry& AddParameters(const char* key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
349 
350 
351     /**
352      * <p>Specify the target for the association. This target is required for
353      * associations that use an Automation runbook and target resources by using rate
354      * controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
355      */
GetAutomationTargetParameterName()356     inline const Aws::String& GetAutomationTargetParameterName() const{ return m_automationTargetParameterName; }
357 
358     /**
359      * <p>Specify the target for the association. This target is required for
360      * associations that use an Automation runbook and target resources by using rate
361      * controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
362      */
AutomationTargetParameterNameHasBeenSet()363     inline bool AutomationTargetParameterNameHasBeenSet() const { return m_automationTargetParameterNameHasBeenSet; }
364 
365     /**
366      * <p>Specify the target for the association. This target is required for
367      * associations that use an Automation runbook and target resources by using rate
368      * controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
369      */
SetAutomationTargetParameterName(const Aws::String & value)370     inline void SetAutomationTargetParameterName(const Aws::String& value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName = value; }
371 
372     /**
373      * <p>Specify the target for the association. This target is required for
374      * associations that use an Automation runbook and target resources by using rate
375      * controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
376      */
SetAutomationTargetParameterName(Aws::String && value)377     inline void SetAutomationTargetParameterName(Aws::String&& value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName = std::move(value); }
378 
379     /**
380      * <p>Specify the target for the association. This target is required for
381      * associations that use an Automation runbook and target resources by using rate
382      * controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
383      */
SetAutomationTargetParameterName(const char * value)384     inline void SetAutomationTargetParameterName(const char* value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName.assign(value); }
385 
386     /**
387      * <p>Specify the target for the association. This target is required for
388      * associations that use an Automation runbook and target resources by using rate
389      * controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
390      */
WithAutomationTargetParameterName(const Aws::String & value)391     inline CreateAssociationBatchRequestEntry& WithAutomationTargetParameterName(const Aws::String& value) { SetAutomationTargetParameterName(value); return *this;}
392 
393     /**
394      * <p>Specify the target for the association. This target is required for
395      * associations that use an Automation runbook and target resources by using rate
396      * controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
397      */
WithAutomationTargetParameterName(Aws::String && value)398     inline CreateAssociationBatchRequestEntry& WithAutomationTargetParameterName(Aws::String&& value) { SetAutomationTargetParameterName(std::move(value)); return *this;}
399 
400     /**
401      * <p>Specify the target for the association. This target is required for
402      * associations that use an Automation runbook and target resources by using rate
403      * controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
404      */
WithAutomationTargetParameterName(const char * value)405     inline CreateAssociationBatchRequestEntry& WithAutomationTargetParameterName(const char* value) { SetAutomationTargetParameterName(value); return *this;}
406 
407 
408     /**
409      * <p>The document version.</p>
410      */
GetDocumentVersion()411     inline const Aws::String& GetDocumentVersion() const{ return m_documentVersion; }
412 
413     /**
414      * <p>The document version.</p>
415      */
DocumentVersionHasBeenSet()416     inline bool DocumentVersionHasBeenSet() const { return m_documentVersionHasBeenSet; }
417 
418     /**
419      * <p>The document version.</p>
420      */
SetDocumentVersion(const Aws::String & value)421     inline void SetDocumentVersion(const Aws::String& value) { m_documentVersionHasBeenSet = true; m_documentVersion = value; }
422 
423     /**
424      * <p>The document version.</p>
425      */
SetDocumentVersion(Aws::String && value)426     inline void SetDocumentVersion(Aws::String&& value) { m_documentVersionHasBeenSet = true; m_documentVersion = std::move(value); }
427 
428     /**
429      * <p>The document version.</p>
430      */
SetDocumentVersion(const char * value)431     inline void SetDocumentVersion(const char* value) { m_documentVersionHasBeenSet = true; m_documentVersion.assign(value); }
432 
433     /**
434      * <p>The document version.</p>
435      */
WithDocumentVersion(const Aws::String & value)436     inline CreateAssociationBatchRequestEntry& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
437 
438     /**
439      * <p>The document version.</p>
440      */
WithDocumentVersion(Aws::String && value)441     inline CreateAssociationBatchRequestEntry& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
442 
443     /**
444      * <p>The document version.</p>
445      */
WithDocumentVersion(const char * value)446     inline CreateAssociationBatchRequestEntry& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
447 
448 
449     /**
450      * <p>The instances targeted by the request.</p>
451      */
GetTargets()452     inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
453 
454     /**
455      * <p>The instances targeted by the request.</p>
456      */
TargetsHasBeenSet()457     inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
458 
459     /**
460      * <p>The instances targeted by the request.</p>
461      */
SetTargets(const Aws::Vector<Target> & value)462     inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
463 
464     /**
465      * <p>The instances targeted by the request.</p>
466      */
SetTargets(Aws::Vector<Target> && value)467     inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
468 
469     /**
470      * <p>The instances targeted by the request.</p>
471      */
WithTargets(const Aws::Vector<Target> & value)472     inline CreateAssociationBatchRequestEntry& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
473 
474     /**
475      * <p>The instances targeted by the request.</p>
476      */
WithTargets(Aws::Vector<Target> && value)477     inline CreateAssociationBatchRequestEntry& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
478 
479     /**
480      * <p>The instances targeted by the request.</p>
481      */
AddTargets(const Target & value)482     inline CreateAssociationBatchRequestEntry& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
483 
484     /**
485      * <p>The instances targeted by the request.</p>
486      */
AddTargets(Target && value)487     inline CreateAssociationBatchRequestEntry& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
488 
489 
490     /**
491      * <p>A cron expression that specifies a schedule when the association runs.</p>
492      */
GetScheduleExpression()493     inline const Aws::String& GetScheduleExpression() const{ return m_scheduleExpression; }
494 
495     /**
496      * <p>A cron expression that specifies a schedule when the association runs.</p>
497      */
ScheduleExpressionHasBeenSet()498     inline bool ScheduleExpressionHasBeenSet() const { return m_scheduleExpressionHasBeenSet; }
499 
500     /**
501      * <p>A cron expression that specifies a schedule when the association runs.</p>
502      */
SetScheduleExpression(const Aws::String & value)503     inline void SetScheduleExpression(const Aws::String& value) { m_scheduleExpressionHasBeenSet = true; m_scheduleExpression = value; }
504 
505     /**
506      * <p>A cron expression that specifies a schedule when the association runs.</p>
507      */
SetScheduleExpression(Aws::String && value)508     inline void SetScheduleExpression(Aws::String&& value) { m_scheduleExpressionHasBeenSet = true; m_scheduleExpression = std::move(value); }
509 
510     /**
511      * <p>A cron expression that specifies a schedule when the association runs.</p>
512      */
SetScheduleExpression(const char * value)513     inline void SetScheduleExpression(const char* value) { m_scheduleExpressionHasBeenSet = true; m_scheduleExpression.assign(value); }
514 
515     /**
516      * <p>A cron expression that specifies a schedule when the association runs.</p>
517      */
WithScheduleExpression(const Aws::String & value)518     inline CreateAssociationBatchRequestEntry& WithScheduleExpression(const Aws::String& value) { SetScheduleExpression(value); return *this;}
519 
520     /**
521      * <p>A cron expression that specifies a schedule when the association runs.</p>
522      */
WithScheduleExpression(Aws::String && value)523     inline CreateAssociationBatchRequestEntry& WithScheduleExpression(Aws::String&& value) { SetScheduleExpression(std::move(value)); return *this;}
524 
525     /**
526      * <p>A cron expression that specifies a schedule when the association runs.</p>
527      */
WithScheduleExpression(const char * value)528     inline CreateAssociationBatchRequestEntry& WithScheduleExpression(const char* value) { SetScheduleExpression(value); return *this;}
529 
530 
531     /**
532      * <p>An S3 bucket where you want to store the results of this request.</p>
533      */
GetOutputLocation()534     inline const InstanceAssociationOutputLocation& GetOutputLocation() const{ return m_outputLocation; }
535 
536     /**
537      * <p>An S3 bucket where you want to store the results of this request.</p>
538      */
OutputLocationHasBeenSet()539     inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; }
540 
541     /**
542      * <p>An S3 bucket where you want to store the results of this request.</p>
543      */
SetOutputLocation(const InstanceAssociationOutputLocation & value)544     inline void SetOutputLocation(const InstanceAssociationOutputLocation& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; }
545 
546     /**
547      * <p>An S3 bucket where you want to store the results of this request.</p>
548      */
SetOutputLocation(InstanceAssociationOutputLocation && value)549     inline void SetOutputLocation(InstanceAssociationOutputLocation&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); }
550 
551     /**
552      * <p>An S3 bucket where you want to store the results of this request.</p>
553      */
WithOutputLocation(const InstanceAssociationOutputLocation & value)554     inline CreateAssociationBatchRequestEntry& WithOutputLocation(const InstanceAssociationOutputLocation& value) { SetOutputLocation(value); return *this;}
555 
556     /**
557      * <p>An S3 bucket where you want to store the results of this request.</p>
558      */
WithOutputLocation(InstanceAssociationOutputLocation && value)559     inline CreateAssociationBatchRequestEntry& WithOutputLocation(InstanceAssociationOutputLocation&& value) { SetOutputLocation(std::move(value)); return *this;}
560 
561 
562     /**
563      * <p>Specify a descriptive name for the association.</p>
564      */
GetAssociationName()565     inline const Aws::String& GetAssociationName() const{ return m_associationName; }
566 
567     /**
568      * <p>Specify a descriptive name for the association.</p>
569      */
AssociationNameHasBeenSet()570     inline bool AssociationNameHasBeenSet() const { return m_associationNameHasBeenSet; }
571 
572     /**
573      * <p>Specify a descriptive name for the association.</p>
574      */
SetAssociationName(const Aws::String & value)575     inline void SetAssociationName(const Aws::String& value) { m_associationNameHasBeenSet = true; m_associationName = value; }
576 
577     /**
578      * <p>Specify a descriptive name for the association.</p>
579      */
SetAssociationName(Aws::String && value)580     inline void SetAssociationName(Aws::String&& value) { m_associationNameHasBeenSet = true; m_associationName = std::move(value); }
581 
582     /**
583      * <p>Specify a descriptive name for the association.</p>
584      */
SetAssociationName(const char * value)585     inline void SetAssociationName(const char* value) { m_associationNameHasBeenSet = true; m_associationName.assign(value); }
586 
587     /**
588      * <p>Specify a descriptive name for the association.</p>
589      */
WithAssociationName(const Aws::String & value)590     inline CreateAssociationBatchRequestEntry& WithAssociationName(const Aws::String& value) { SetAssociationName(value); return *this;}
591 
592     /**
593      * <p>Specify a descriptive name for the association.</p>
594      */
WithAssociationName(Aws::String && value)595     inline CreateAssociationBatchRequestEntry& WithAssociationName(Aws::String&& value) { SetAssociationName(std::move(value)); return *this;}
596 
597     /**
598      * <p>Specify a descriptive name for the association.</p>
599      */
WithAssociationName(const char * value)600     inline CreateAssociationBatchRequestEntry& WithAssociationName(const char* value) { SetAssociationName(value); return *this;}
601 
602 
603     /**
604      * <p>The number of errors that are allowed before the system stops sending
605      * requests to run the association on additional targets. You can specify either an
606      * absolute number of errors, for example 10, or a percentage of the target set,
607      * for example 10%. If you specify 3, for example, the system stops sending
608      * requests when the fourth error is received. If you specify 0, then the system
609      * stops sending requests after the first error is returned. If you run an
610      * association on 50 instances and set <code>MaxError</code> to 10%, then the
611      * system stops sending the request when the sixth error is received.</p>
612      * <p>Executions that are already running an association when
613      * <code>MaxErrors</code> is reached are allowed to complete, but some of these
614      * executions may fail as well. If you need to ensure that there won't be more than
615      * max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that
616      * executions proceed one at a time.</p>
617      */
GetMaxErrors()618     inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
619 
620     /**
621      * <p>The number of errors that are allowed before the system stops sending
622      * requests to run the association on additional targets. You can specify either an
623      * absolute number of errors, for example 10, or a percentage of the target set,
624      * for example 10%. If you specify 3, for example, the system stops sending
625      * requests when the fourth error is received. If you specify 0, then the system
626      * stops sending requests after the first error is returned. If you run an
627      * association on 50 instances and set <code>MaxError</code> to 10%, then the
628      * system stops sending the request when the sixth error is received.</p>
629      * <p>Executions that are already running an association when
630      * <code>MaxErrors</code> is reached are allowed to complete, but some of these
631      * executions may fail as well. If you need to ensure that there won't be more than
632      * max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that
633      * executions proceed one at a time.</p>
634      */
MaxErrorsHasBeenSet()635     inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; }
636 
637     /**
638      * <p>The number of errors that are allowed before the system stops sending
639      * requests to run the association on additional targets. You can specify either an
640      * absolute number of errors, for example 10, or a percentage of the target set,
641      * for example 10%. If you specify 3, for example, the system stops sending
642      * requests when the fourth error is received. If you specify 0, then the system
643      * stops sending requests after the first error is returned. If you run an
644      * association on 50 instances and set <code>MaxError</code> to 10%, then the
645      * system stops sending the request when the sixth error is received.</p>
646      * <p>Executions that are already running an association when
647      * <code>MaxErrors</code> is reached are allowed to complete, but some of these
648      * executions may fail as well. If you need to ensure that there won't be more than
649      * max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that
650      * executions proceed one at a time.</p>
651      */
SetMaxErrors(const Aws::String & value)652     inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; }
653 
654     /**
655      * <p>The number of errors that are allowed before the system stops sending
656      * requests to run the association on additional targets. You can specify either an
657      * absolute number of errors, for example 10, or a percentage of the target set,
658      * for example 10%. If you specify 3, for example, the system stops sending
659      * requests when the fourth error is received. If you specify 0, then the system
660      * stops sending requests after the first error is returned. If you run an
661      * association on 50 instances and set <code>MaxError</code> to 10%, then the
662      * system stops sending the request when the sixth error is received.</p>
663      * <p>Executions that are already running an association when
664      * <code>MaxErrors</code> is reached are allowed to complete, but some of these
665      * executions may fail as well. If you need to ensure that there won't be more than
666      * max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that
667      * executions proceed one at a time.</p>
668      */
SetMaxErrors(Aws::String && value)669     inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); }
670 
671     /**
672      * <p>The number of errors that are allowed before the system stops sending
673      * requests to run the association on additional targets. You can specify either an
674      * absolute number of errors, for example 10, or a percentage of the target set,
675      * for example 10%. If you specify 3, for example, the system stops sending
676      * requests when the fourth error is received. If you specify 0, then the system
677      * stops sending requests after the first error is returned. If you run an
678      * association on 50 instances and set <code>MaxError</code> to 10%, then the
679      * system stops sending the request when the sixth error is received.</p>
680      * <p>Executions that are already running an association when
681      * <code>MaxErrors</code> is reached are allowed to complete, but some of these
682      * executions may fail as well. If you need to ensure that there won't be more than
683      * max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that
684      * executions proceed one at a time.</p>
685      */
SetMaxErrors(const char * value)686     inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); }
687 
688     /**
689      * <p>The number of errors that are allowed before the system stops sending
690      * requests to run the association on additional targets. You can specify either an
691      * absolute number of errors, for example 10, or a percentage of the target set,
692      * for example 10%. If you specify 3, for example, the system stops sending
693      * requests when the fourth error is received. If you specify 0, then the system
694      * stops sending requests after the first error is returned. If you run an
695      * association on 50 instances and set <code>MaxError</code> to 10%, then the
696      * system stops sending the request when the sixth error is received.</p>
697      * <p>Executions that are already running an association when
698      * <code>MaxErrors</code> is reached are allowed to complete, but some of these
699      * executions may fail as well. If you need to ensure that there won't be more than
700      * max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that
701      * executions proceed one at a time.</p>
702      */
WithMaxErrors(const Aws::String & value)703     inline CreateAssociationBatchRequestEntry& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
704 
705     /**
706      * <p>The number of errors that are allowed before the system stops sending
707      * requests to run the association on additional targets. You can specify either an
708      * absolute number of errors, for example 10, or a percentage of the target set,
709      * for example 10%. If you specify 3, for example, the system stops sending
710      * requests when the fourth error is received. If you specify 0, then the system
711      * stops sending requests after the first error is returned. If you run an
712      * association on 50 instances and set <code>MaxError</code> to 10%, then the
713      * system stops sending the request when the sixth error is received.</p>
714      * <p>Executions that are already running an association when
715      * <code>MaxErrors</code> is reached are allowed to complete, but some of these
716      * executions may fail as well. If you need to ensure that there won't be more than
717      * max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that
718      * executions proceed one at a time.</p>
719      */
WithMaxErrors(Aws::String && value)720     inline CreateAssociationBatchRequestEntry& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
721 
722     /**
723      * <p>The number of errors that are allowed before the system stops sending
724      * requests to run the association on additional targets. You can specify either an
725      * absolute number of errors, for example 10, or a percentage of the target set,
726      * for example 10%. If you specify 3, for example, the system stops sending
727      * requests when the fourth error is received. If you specify 0, then the system
728      * stops sending requests after the first error is returned. If you run an
729      * association on 50 instances and set <code>MaxError</code> to 10%, then the
730      * system stops sending the request when the sixth error is received.</p>
731      * <p>Executions that are already running an association when
732      * <code>MaxErrors</code> is reached are allowed to complete, but some of these
733      * executions may fail as well. If you need to ensure that there won't be more than
734      * max-errors failed executions, set <code>MaxConcurrency</code> to 1 so that
735      * executions proceed one at a time.</p>
736      */
WithMaxErrors(const char * value)737     inline CreateAssociationBatchRequestEntry& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
738 
739 
740     /**
741      * <p>The maximum number of targets allowed to run the association at the same
742      * time. You can specify a number, for example 10, or a percentage of the target
743      * set, for example 10%. The default value is 100%, which means all targets run the
744      * association at the same time.</p> <p>If a new instance starts and attempts to
745      * run an association while Systems Manager is running <code>MaxConcurrency</code>
746      * associations, the association is allowed to run. During the next association
747      * interval, the new instance will process its association within the limit
748      * specified for <code>MaxConcurrency</code>.</p>
749      */
GetMaxConcurrency()750     inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
751 
752     /**
753      * <p>The maximum number of targets allowed to run the association at the same
754      * time. You can specify a number, for example 10, or a percentage of the target
755      * set, for example 10%. The default value is 100%, which means all targets run the
756      * association at the same time.</p> <p>If a new instance starts and attempts to
757      * run an association while Systems Manager is running <code>MaxConcurrency</code>
758      * associations, the association is allowed to run. During the next association
759      * interval, the new instance will process its association within the limit
760      * specified for <code>MaxConcurrency</code>.</p>
761      */
MaxConcurrencyHasBeenSet()762     inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; }
763 
764     /**
765      * <p>The maximum number of targets allowed to run the association at the same
766      * time. You can specify a number, for example 10, or a percentage of the target
767      * set, for example 10%. The default value is 100%, which means all targets run the
768      * association at the same time.</p> <p>If a new instance starts and attempts to
769      * run an association while Systems Manager is running <code>MaxConcurrency</code>
770      * associations, the association is allowed to run. During the next association
771      * interval, the new instance will process its association within the limit
772      * specified for <code>MaxConcurrency</code>.</p>
773      */
SetMaxConcurrency(const Aws::String & value)774     inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; }
775 
776     /**
777      * <p>The maximum number of targets allowed to run the association at the same
778      * time. You can specify a number, for example 10, or a percentage of the target
779      * set, for example 10%. The default value is 100%, which means all targets run the
780      * association at the same time.</p> <p>If a new instance starts and attempts to
781      * run an association while Systems Manager is running <code>MaxConcurrency</code>
782      * associations, the association is allowed to run. During the next association
783      * interval, the new instance will process its association within the limit
784      * specified for <code>MaxConcurrency</code>.</p>
785      */
SetMaxConcurrency(Aws::String && value)786     inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); }
787 
788     /**
789      * <p>The maximum number of targets allowed to run the association at the same
790      * time. You can specify a number, for example 10, or a percentage of the target
791      * set, for example 10%. The default value is 100%, which means all targets run the
792      * association at the same time.</p> <p>If a new instance starts and attempts to
793      * run an association while Systems Manager is running <code>MaxConcurrency</code>
794      * associations, the association is allowed to run. During the next association
795      * interval, the new instance will process its association within the limit
796      * specified for <code>MaxConcurrency</code>.</p>
797      */
SetMaxConcurrency(const char * value)798     inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); }
799 
800     /**
801      * <p>The maximum number of targets allowed to run the association at the same
802      * time. You can specify a number, for example 10, or a percentage of the target
803      * set, for example 10%. The default value is 100%, which means all targets run the
804      * association at the same time.</p> <p>If a new instance starts and attempts to
805      * run an association while Systems Manager is running <code>MaxConcurrency</code>
806      * associations, the association is allowed to run. During the next association
807      * interval, the new instance will process its association within the limit
808      * specified for <code>MaxConcurrency</code>.</p>
809      */
WithMaxConcurrency(const Aws::String & value)810     inline CreateAssociationBatchRequestEntry& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
811 
812     /**
813      * <p>The maximum number of targets allowed to run the association at the same
814      * time. You can specify a number, for example 10, or a percentage of the target
815      * set, for example 10%. The default value is 100%, which means all targets run the
816      * association at the same time.</p> <p>If a new instance starts and attempts to
817      * run an association while Systems Manager is running <code>MaxConcurrency</code>
818      * associations, the association is allowed to run. During the next association
819      * interval, the new instance will process its association within the limit
820      * specified for <code>MaxConcurrency</code>.</p>
821      */
WithMaxConcurrency(Aws::String && value)822     inline CreateAssociationBatchRequestEntry& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
823 
824     /**
825      * <p>The maximum number of targets allowed to run the association at the same
826      * time. You can specify a number, for example 10, or a percentage of the target
827      * set, for example 10%. The default value is 100%, which means all targets run the
828      * association at the same time.</p> <p>If a new instance starts and attempts to
829      * run an association while Systems Manager is running <code>MaxConcurrency</code>
830      * associations, the association is allowed to run. During the next association
831      * interval, the new instance will process its association within the limit
832      * specified for <code>MaxConcurrency</code>.</p>
833      */
WithMaxConcurrency(const char * value)834     inline CreateAssociationBatchRequestEntry& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
835 
836 
837     /**
838      * <p>The severity level to assign to the association.</p>
839      */
GetComplianceSeverity()840     inline const AssociationComplianceSeverity& GetComplianceSeverity() const{ return m_complianceSeverity; }
841 
842     /**
843      * <p>The severity level to assign to the association.</p>
844      */
ComplianceSeverityHasBeenSet()845     inline bool ComplianceSeverityHasBeenSet() const { return m_complianceSeverityHasBeenSet; }
846 
847     /**
848      * <p>The severity level to assign to the association.</p>
849      */
SetComplianceSeverity(const AssociationComplianceSeverity & value)850     inline void SetComplianceSeverity(const AssociationComplianceSeverity& value) { m_complianceSeverityHasBeenSet = true; m_complianceSeverity = value; }
851 
852     /**
853      * <p>The severity level to assign to the association.</p>
854      */
SetComplianceSeverity(AssociationComplianceSeverity && value)855     inline void SetComplianceSeverity(AssociationComplianceSeverity&& value) { m_complianceSeverityHasBeenSet = true; m_complianceSeverity = std::move(value); }
856 
857     /**
858      * <p>The severity level to assign to the association.</p>
859      */
WithComplianceSeverity(const AssociationComplianceSeverity & value)860     inline CreateAssociationBatchRequestEntry& WithComplianceSeverity(const AssociationComplianceSeverity& value) { SetComplianceSeverity(value); return *this;}
861 
862     /**
863      * <p>The severity level to assign to the association.</p>
864      */
WithComplianceSeverity(AssociationComplianceSeverity && value)865     inline CreateAssociationBatchRequestEntry& WithComplianceSeverity(AssociationComplianceSeverity&& value) { SetComplianceSeverity(std::move(value)); return *this;}
866 
867 
868     /**
869      * <p>The mode for generating association compliance. You can specify
870      * <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system
871      * uses the status of the association execution to determine the compliance status.
872      * If the association execution runs successfully, then the association is
873      * <code>COMPLIANT</code>. If the association execution doesn't run successfully,
874      * the association is <code>NON-COMPLIANT</code>. </p> <p>In <code>MANUAL</code>
875      * mode, you must specify the <code>AssociationId</code> as a parameter for the
876      * <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
877      * managed by State Manager, a capability of Amazon Web Services Systems Manager.
878      * It is managed by your direct call to the <a>PutComplianceItems</a> API
879      * operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
880      */
GetSyncCompliance()881     inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; }
882 
883     /**
884      * <p>The mode for generating association compliance. You can specify
885      * <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system
886      * uses the status of the association execution to determine the compliance status.
887      * If the association execution runs successfully, then the association is
888      * <code>COMPLIANT</code>. If the association execution doesn't run successfully,
889      * the association is <code>NON-COMPLIANT</code>. </p> <p>In <code>MANUAL</code>
890      * mode, you must specify the <code>AssociationId</code> as a parameter for the
891      * <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
892      * managed by State Manager, a capability of Amazon Web Services Systems Manager.
893      * It is managed by your direct call to the <a>PutComplianceItems</a> API
894      * operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
895      */
SyncComplianceHasBeenSet()896     inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; }
897 
898     /**
899      * <p>The mode for generating association compliance. You can specify
900      * <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system
901      * uses the status of the association execution to determine the compliance status.
902      * If the association execution runs successfully, then the association is
903      * <code>COMPLIANT</code>. If the association execution doesn't run successfully,
904      * the association is <code>NON-COMPLIANT</code>. </p> <p>In <code>MANUAL</code>
905      * mode, you must specify the <code>AssociationId</code> as a parameter for the
906      * <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
907      * managed by State Manager, a capability of Amazon Web Services Systems Manager.
908      * It is managed by your direct call to the <a>PutComplianceItems</a> API
909      * operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
910      */
SetSyncCompliance(const AssociationSyncCompliance & value)911     inline void SetSyncCompliance(const AssociationSyncCompliance& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = value; }
912 
913     /**
914      * <p>The mode for generating association compliance. You can specify
915      * <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system
916      * uses the status of the association execution to determine the compliance status.
917      * If the association execution runs successfully, then the association is
918      * <code>COMPLIANT</code>. If the association execution doesn't run successfully,
919      * the association is <code>NON-COMPLIANT</code>. </p> <p>In <code>MANUAL</code>
920      * mode, you must specify the <code>AssociationId</code> as a parameter for the
921      * <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
922      * managed by State Manager, a capability of Amazon Web Services Systems Manager.
923      * It is managed by your direct call to the <a>PutComplianceItems</a> API
924      * operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
925      */
SetSyncCompliance(AssociationSyncCompliance && value)926     inline void SetSyncCompliance(AssociationSyncCompliance&& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = std::move(value); }
927 
928     /**
929      * <p>The mode for generating association compliance. You can specify
930      * <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system
931      * uses the status of the association execution to determine the compliance status.
932      * If the association execution runs successfully, then the association is
933      * <code>COMPLIANT</code>. If the association execution doesn't run successfully,
934      * the association is <code>NON-COMPLIANT</code>. </p> <p>In <code>MANUAL</code>
935      * mode, you must specify the <code>AssociationId</code> as a parameter for the
936      * <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
937      * managed by State Manager, a capability of Amazon Web Services Systems Manager.
938      * It is managed by your direct call to the <a>PutComplianceItems</a> API
939      * operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
940      */
WithSyncCompliance(const AssociationSyncCompliance & value)941     inline CreateAssociationBatchRequestEntry& WithSyncCompliance(const AssociationSyncCompliance& value) { SetSyncCompliance(value); return *this;}
942 
943     /**
944      * <p>The mode for generating association compliance. You can specify
945      * <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> mode, the system
946      * uses the status of the association execution to determine the compliance status.
947      * If the association execution runs successfully, then the association is
948      * <code>COMPLIANT</code>. If the association execution doesn't run successfully,
949      * the association is <code>NON-COMPLIANT</code>. </p> <p>In <code>MANUAL</code>
950      * mode, you must specify the <code>AssociationId</code> as a parameter for the
951      * <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
952      * managed by State Manager, a capability of Amazon Web Services Systems Manager.
953      * It is managed by your direct call to the <a>PutComplianceItems</a> API
954      * operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
955      */
WithSyncCompliance(AssociationSyncCompliance && value)956     inline CreateAssociationBatchRequestEntry& WithSyncCompliance(AssociationSyncCompliance&& value) { SetSyncCompliance(std::move(value)); return *this;}
957 
958 
959     /**
960      * <p>By default, when you create a new associations, the system runs it
961      * immediately after it is created and then according to the schedule you
962      * specified. Specify this option if you don't want an association to run
963      * immediately after you create it. This parameter isn't supported for rate
964      * expressions.</p>
965      */
GetApplyOnlyAtCronInterval()966     inline bool GetApplyOnlyAtCronInterval() const{ return m_applyOnlyAtCronInterval; }
967 
968     /**
969      * <p>By default, when you create a new associations, the system runs it
970      * immediately after it is created and then according to the schedule you
971      * specified. Specify this option if you don't want an association to run
972      * immediately after you create it. This parameter isn't supported for rate
973      * expressions.</p>
974      */
ApplyOnlyAtCronIntervalHasBeenSet()975     inline bool ApplyOnlyAtCronIntervalHasBeenSet() const { return m_applyOnlyAtCronIntervalHasBeenSet; }
976 
977     /**
978      * <p>By default, when you create a new associations, the system runs it
979      * immediately after it is created and then according to the schedule you
980      * specified. Specify this option if you don't want an association to run
981      * immediately after you create it. This parameter isn't supported for rate
982      * expressions.</p>
983      */
SetApplyOnlyAtCronInterval(bool value)984     inline void SetApplyOnlyAtCronInterval(bool value) { m_applyOnlyAtCronIntervalHasBeenSet = true; m_applyOnlyAtCronInterval = value; }
985 
986     /**
987      * <p>By default, when you create a new associations, the system runs it
988      * immediately after it is created and then according to the schedule you
989      * specified. Specify this option if you don't want an association to run
990      * immediately after you create it. This parameter isn't supported for rate
991      * expressions.</p>
992      */
WithApplyOnlyAtCronInterval(bool value)993     inline CreateAssociationBatchRequestEntry& WithApplyOnlyAtCronInterval(bool value) { SetApplyOnlyAtCronInterval(value); return *this;}
994 
995 
996     /**
997      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
998      * documents your associations are gated under. The associations only run when that
999      * Change Calendar is open. For more information, see <a
1000      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1001      * Web Services Systems Manager Change Calendar</a>.</p>
1002      */
GetCalendarNames()1003     inline const Aws::Vector<Aws::String>& GetCalendarNames() const{ return m_calendarNames; }
1004 
1005     /**
1006      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
1007      * documents your associations are gated under. The associations only run when that
1008      * Change Calendar is open. For more information, see <a
1009      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1010      * Web Services Systems Manager Change Calendar</a>.</p>
1011      */
CalendarNamesHasBeenSet()1012     inline bool CalendarNamesHasBeenSet() const { return m_calendarNamesHasBeenSet; }
1013 
1014     /**
1015      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
1016      * documents your associations are gated under. The associations only run when that
1017      * Change Calendar is open. For more information, see <a
1018      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1019      * Web Services Systems Manager Change Calendar</a>.</p>
1020      */
SetCalendarNames(const Aws::Vector<Aws::String> & value)1021     inline void SetCalendarNames(const Aws::Vector<Aws::String>& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = value; }
1022 
1023     /**
1024      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
1025      * documents your associations are gated under. The associations only run when that
1026      * Change Calendar is open. For more information, see <a
1027      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1028      * Web Services Systems Manager Change Calendar</a>.</p>
1029      */
SetCalendarNames(Aws::Vector<Aws::String> && value)1030     inline void SetCalendarNames(Aws::Vector<Aws::String>&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = std::move(value); }
1031 
1032     /**
1033      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
1034      * documents your associations are gated under. The associations only run when that
1035      * Change Calendar is open. For more information, see <a
1036      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1037      * Web Services Systems Manager Change Calendar</a>.</p>
1038      */
WithCalendarNames(const Aws::Vector<Aws::String> & value)1039     inline CreateAssociationBatchRequestEntry& WithCalendarNames(const Aws::Vector<Aws::String>& value) { SetCalendarNames(value); return *this;}
1040 
1041     /**
1042      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
1043      * documents your associations are gated under. The associations only run when that
1044      * Change Calendar is open. For more information, see <a
1045      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1046      * Web Services Systems Manager Change Calendar</a>.</p>
1047      */
WithCalendarNames(Aws::Vector<Aws::String> && value)1048     inline CreateAssociationBatchRequestEntry& WithCalendarNames(Aws::Vector<Aws::String>&& value) { SetCalendarNames(std::move(value)); return *this;}
1049 
1050     /**
1051      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
1052      * documents your associations are gated under. The associations only run when that
1053      * Change Calendar is open. For more information, see <a
1054      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1055      * Web Services Systems Manager Change Calendar</a>.</p>
1056      */
AddCalendarNames(const Aws::String & value)1057     inline CreateAssociationBatchRequestEntry& AddCalendarNames(const Aws::String& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
1058 
1059     /**
1060      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
1061      * documents your associations are gated under. The associations only run when that
1062      * Change Calendar is open. For more information, see <a
1063      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1064      * Web Services Systems Manager Change Calendar</a>.</p>
1065      */
AddCalendarNames(Aws::String && value)1066     inline CreateAssociationBatchRequestEntry& AddCalendarNames(Aws::String&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(std::move(value)); return *this; }
1067 
1068     /**
1069      * <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
1070      * documents your associations are gated under. The associations only run when that
1071      * Change Calendar is open. For more information, see <a
1072      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
1073      * Web Services Systems Manager Change Calendar</a>.</p>
1074      */
AddCalendarNames(const char * value)1075     inline CreateAssociationBatchRequestEntry& AddCalendarNames(const char* value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
1076 
1077 
1078     /**
1079      * <p>Use this action to create an association in multiple Regions and multiple
1080      * accounts.</p>
1081      */
GetTargetLocations()1082     inline const Aws::Vector<TargetLocation>& GetTargetLocations() const{ return m_targetLocations; }
1083 
1084     /**
1085      * <p>Use this action to create an association in multiple Regions and multiple
1086      * accounts.</p>
1087      */
TargetLocationsHasBeenSet()1088     inline bool TargetLocationsHasBeenSet() const { return m_targetLocationsHasBeenSet; }
1089 
1090     /**
1091      * <p>Use this action to create an association in multiple Regions and multiple
1092      * accounts.</p>
1093      */
SetTargetLocations(const Aws::Vector<TargetLocation> & value)1094     inline void SetTargetLocations(const Aws::Vector<TargetLocation>& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = value; }
1095 
1096     /**
1097      * <p>Use this action to create an association in multiple Regions and multiple
1098      * accounts.</p>
1099      */
SetTargetLocations(Aws::Vector<TargetLocation> && value)1100     inline void SetTargetLocations(Aws::Vector<TargetLocation>&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = std::move(value); }
1101 
1102     /**
1103      * <p>Use this action to create an association in multiple Regions and multiple
1104      * accounts.</p>
1105      */
WithTargetLocations(const Aws::Vector<TargetLocation> & value)1106     inline CreateAssociationBatchRequestEntry& WithTargetLocations(const Aws::Vector<TargetLocation>& value) { SetTargetLocations(value); return *this;}
1107 
1108     /**
1109      * <p>Use this action to create an association in multiple Regions and multiple
1110      * accounts.</p>
1111      */
WithTargetLocations(Aws::Vector<TargetLocation> && value)1112     inline CreateAssociationBatchRequestEntry& WithTargetLocations(Aws::Vector<TargetLocation>&& value) { SetTargetLocations(std::move(value)); return *this;}
1113 
1114     /**
1115      * <p>Use this action to create an association in multiple Regions and multiple
1116      * accounts.</p>
1117      */
AddTargetLocations(const TargetLocation & value)1118     inline CreateAssociationBatchRequestEntry& AddTargetLocations(const TargetLocation& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(value); return *this; }
1119 
1120     /**
1121      * <p>Use this action to create an association in multiple Regions and multiple
1122      * accounts.</p>
1123      */
AddTargetLocations(TargetLocation && value)1124     inline CreateAssociationBatchRequestEntry& AddTargetLocations(TargetLocation&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(std::move(value)); return *this; }
1125 
1126   private:
1127 
1128     Aws::String m_name;
1129     bool m_nameHasBeenSet;
1130 
1131     Aws::String m_instanceId;
1132     bool m_instanceIdHasBeenSet;
1133 
1134     Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_parameters;
1135     bool m_parametersHasBeenSet;
1136 
1137     Aws::String m_automationTargetParameterName;
1138     bool m_automationTargetParameterNameHasBeenSet;
1139 
1140     Aws::String m_documentVersion;
1141     bool m_documentVersionHasBeenSet;
1142 
1143     Aws::Vector<Target> m_targets;
1144     bool m_targetsHasBeenSet;
1145 
1146     Aws::String m_scheduleExpression;
1147     bool m_scheduleExpressionHasBeenSet;
1148 
1149     InstanceAssociationOutputLocation m_outputLocation;
1150     bool m_outputLocationHasBeenSet;
1151 
1152     Aws::String m_associationName;
1153     bool m_associationNameHasBeenSet;
1154 
1155     Aws::String m_maxErrors;
1156     bool m_maxErrorsHasBeenSet;
1157 
1158     Aws::String m_maxConcurrency;
1159     bool m_maxConcurrencyHasBeenSet;
1160 
1161     AssociationComplianceSeverity m_complianceSeverity;
1162     bool m_complianceSeverityHasBeenSet;
1163 
1164     AssociationSyncCompliance m_syncCompliance;
1165     bool m_syncComplianceHasBeenSet;
1166 
1167     bool m_applyOnlyAtCronInterval;
1168     bool m_applyOnlyAtCronIntervalHasBeenSet;
1169 
1170     Aws::Vector<Aws::String> m_calendarNames;
1171     bool m_calendarNamesHasBeenSet;
1172 
1173     Aws::Vector<TargetLocation> m_targetLocations;
1174     bool m_targetLocationsHasBeenSet;
1175   };
1176 
1177 } // namespace Model
1178 } // namespace SSM
1179 } // namespace Aws
1180