/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the ssm-2014-11-06.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SimpleSystemsManagement.Model { /// /// Information about the association version. /// public partial class AssociationVersionInfo { private bool? _applyOnlyAtCronInterval; private string _associationId; private string _associationName; private string _associationVersion; private List _calendarNames = new List(); private AssociationComplianceSeverity _complianceSeverity; private DateTime? _createdDate; private string _documentVersion; private string _maxConcurrency; private string _maxErrors; private string _name; private InstanceAssociationOutputLocation _outputLocation; private Dictionary> _parameters = new Dictionary>(); private string _scheduleExpression; private int? _scheduleOffset; private AssociationSyncCompliance _syncCompliance; private List _targetLocations = new List(); private List>> _targetMaps = new List>>(); private List _targets = new List(); /// /// Gets and sets the property ApplyOnlyAtCronInterval. /// /// By default, when you create a 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. /// /// public bool ApplyOnlyAtCronInterval { get { return this._applyOnlyAtCronInterval.GetValueOrDefault(); } set { this._applyOnlyAtCronInterval = value; } } // Check to see if ApplyOnlyAtCronInterval property is set internal bool IsSetApplyOnlyAtCronInterval() { return this._applyOnlyAtCronInterval.HasValue; } /// /// Gets and sets the property AssociationId. /// /// The ID created by the system when the association was created. /// /// public string AssociationId { get { return this._associationId; } set { this._associationId = value; } } // Check to see if AssociationId property is set internal bool IsSetAssociationId() { return this._associationId != null; } /// /// Gets and sets the property AssociationName. /// /// The name specified for the association version when the association version was created. /// /// public string AssociationName { get { return this._associationName; } set { this._associationName = value; } } // Check to see if AssociationName property is set internal bool IsSetAssociationName() { return this._associationName != null; } /// /// Gets and sets the property AssociationVersion. /// /// The association version. /// /// public string AssociationVersion { get { return this._associationVersion; } set { this._associationVersion = value; } } // Check to see if AssociationVersion property is set internal bool IsSetAssociationVersion() { return this._associationVersion != null; } /// /// Gets and sets the property CalendarNames. /// /// 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 Amazon /// Web Services Systems Manager Change Calendar. /// /// public List CalendarNames { get { return this._calendarNames; } set { this._calendarNames = value; } } // Check to see if CalendarNames property is set internal bool IsSetCalendarNames() { return this._calendarNames != null && this._calendarNames.Count > 0; } /// /// Gets and sets the property ComplianceSeverity. /// /// The severity level that is assigned to the association. /// /// public AssociationComplianceSeverity ComplianceSeverity { get { return this._complianceSeverity; } set { this._complianceSeverity = value; } } // Check to see if ComplianceSeverity property is set internal bool IsSetComplianceSeverity() { return this._complianceSeverity != null; } /// /// Gets and sets the property CreatedDate. /// /// The date the association version was created. /// /// public DateTime CreatedDate { get { return this._createdDate.GetValueOrDefault(); } set { this._createdDate = value; } } // Check to see if CreatedDate property is set internal bool IsSetCreatedDate() { return this._createdDate.HasValue; } /// /// Gets and sets the property DocumentVersion. /// /// The version of an Amazon Web Services Systems Manager document (SSM document) used /// when the association version was created. /// /// public string DocumentVersion { get { return this._documentVersion; } set { this._documentVersion = value; } } // Check to see if DocumentVersion property is set internal bool IsSetDocumentVersion() { return this._documentVersion != null; } /// /// Gets and sets the property MaxConcurrency. /// /// 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. /// /// /// /// If a new managed node starts and attempts to run an association while Systems Manager /// is running MaxConcurrency 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 MaxConcurrency. /// /// [AWSProperty(Min=1, Max=7)] public string MaxConcurrency { get { return this._maxConcurrency; } set { this._maxConcurrency = value; } } // Check to see if MaxConcurrency property is set internal bool IsSetMaxConcurrency() { return this._maxConcurrency != null; } /// /// Gets and sets the property MaxErrors. /// /// 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 MaxError /// to 10%, then the system stops sending the request when the sixth error is received. /// /// /// /// Executions that are already running an association when MaxErrors 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 /// MaxConcurrency to 1 so that executions proceed one at a time. /// /// [AWSProperty(Min=1, Max=7)] public string MaxErrors { get { return this._maxErrors; } set { this._maxErrors = value; } } // Check to see if MaxErrors property is set internal bool IsSetMaxErrors() { return this._maxErrors != null; } /// /// Gets and sets the property Name. /// /// The name specified when the association was created. /// /// public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property OutputLocation. /// /// The location in Amazon S3 specified for the association when the association version /// was created. /// /// public InstanceAssociationOutputLocation OutputLocation { get { return this._outputLocation; } set { this._outputLocation = value; } } // Check to see if OutputLocation property is set internal bool IsSetOutputLocation() { return this._outputLocation != null; } /// /// Gets and sets the property Parameters. /// /// Parameters specified when the association version was created. /// /// [AWSProperty(Sensitive=true)] public Dictionary> Parameters { get { return this._parameters; } set { this._parameters = value; } } // Check to see if Parameters property is set internal bool IsSetParameters() { return this._parameters != null && this._parameters.Count > 0; } /// /// Gets and sets the property ScheduleExpression. /// /// The cron or rate schedule specified for the association when the association version /// was created. /// /// [AWSProperty(Min=1, Max=256)] public string ScheduleExpression { get { return this._scheduleExpression; } set { this._scheduleExpression = value; } } // Check to see if ScheduleExpression property is set internal bool IsSetScheduleExpression() { return this._scheduleExpression != null; } /// /// Gets and sets the property ScheduleOffset. /// /// Number of days to wait after the scheduled day to run an association. /// /// [AWSProperty(Min=1, Max=6)] public int ScheduleOffset { get { return this._scheduleOffset.GetValueOrDefault(); } set { this._scheduleOffset = value; } } // Check to see if ScheduleOffset property is set internal bool IsSetScheduleOffset() { return this._scheduleOffset.HasValue; } /// /// Gets and sets the property SyncCompliance. /// /// The mode for generating association compliance. You can specify AUTO /// or MANUAL. In AUTO 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 COMPLIANT. If the association /// execution doesn't run successfully, the association is NON-COMPLIANT. /// /// /// /// In MANUAL mode, you must specify the AssociationId as a /// parameter for the PutComplianceItems API operation. In this case, compliance /// data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. /// It is managed by your direct call to the PutComplianceItems API operation. /// /// /// /// By default, all associations use AUTO mode. /// /// public AssociationSyncCompliance SyncCompliance { get { return this._syncCompliance; } set { this._syncCompliance = value; } } // Check to see if SyncCompliance property is set internal bool IsSetSyncCompliance() { return this._syncCompliance != null; } /// /// Gets and sets the property TargetLocations. /// /// 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. /// /// [AWSProperty(Min=1, Max=100)] public List TargetLocations { get { return this._targetLocations; } set { this._targetLocations = value; } } // Check to see if TargetLocations property is set internal bool IsSetTargetLocations() { return this._targetLocations != null && this._targetLocations.Count > 0; } /// /// Gets and sets the property TargetMaps. /// /// A key-value mapping of document parameters to target resources. Both Targets and TargetMaps /// can't be specified together. /// /// [AWSProperty(Min=0, Max=300)] public List>> TargetMaps { get { return this._targetMaps; } set { this._targetMaps = value; } } // Check to see if TargetMaps property is set internal bool IsSetTargetMaps() { return this._targetMaps != null && this._targetMaps.Count > 0; } /// /// Gets and sets the property Targets. /// /// The targets specified for the association when the association version was created. /// /// /// [AWSProperty(Min=0, Max=5)] public List Targets { get { return this._targets; } set { this._targets = value; } } // Check to see if Targets property is set internal bool IsSetTargets() { return this._targets != null && this._targets.Count > 0; } } }