/*
* 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
{
///
/// Container for the parameters to the UpdatePatchBaseline operation.
/// Modifies an existing patch baseline. Fields not specified in the request are left
/// unchanged.
///
///
///
/// For information about valid key-value pairs in PatchFilters
for each
/// supported operating system type, see PatchFilter.
///
///
///
public partial class UpdatePatchBaselineRequest : AmazonSimpleSystemsManagementRequest
{
private PatchRuleGroup _approvalRules;
private List _approvedPatches = new List();
private PatchComplianceLevel _approvedPatchesComplianceLevel;
private bool? _approvedPatchesEnableNonSecurity;
private string _baselineId;
private string _description;
private PatchFilterGroup _globalFilters;
private string _name;
private List _rejectedPatches = new List();
private PatchAction _rejectedPatchesAction;
private bool? _replace;
private List _sources = new List();
///
/// Gets and sets the property ApprovalRules.
///
/// A set of rules used to include patches in the baseline.
///
///
public PatchRuleGroup ApprovalRules
{
get { return this._approvalRules; }
set { this._approvalRules = value; }
}
// Check to see if ApprovalRules property is set
internal bool IsSetApprovalRules()
{
return this._approvalRules != null;
}
///
/// Gets and sets the property ApprovedPatches.
///
/// A list of explicitly approved patches for the baseline.
///
///
///
/// For information about accepted formats for lists of approved patches and rejected
/// patches, see About
/// package name formats for approved and rejected patch lists in the Amazon Web
/// Services Systems Manager User Guide.
///
///
[AWSProperty(Min=0, Max=50)]
public List ApprovedPatches
{
get { return this._approvedPatches; }
set { this._approvedPatches = value; }
}
// Check to see if ApprovedPatches property is set
internal bool IsSetApprovedPatches()
{
return this._approvedPatches != null && this._approvedPatches.Count > 0;
}
///
/// Gets and sets the property ApprovedPatchesComplianceLevel.
///
/// Assigns a new compliance severity level to an existing patch baseline.
///
///
public PatchComplianceLevel ApprovedPatchesComplianceLevel
{
get { return this._approvedPatchesComplianceLevel; }
set { this._approvedPatchesComplianceLevel = value; }
}
// Check to see if ApprovedPatchesComplianceLevel property is set
internal bool IsSetApprovedPatchesComplianceLevel()
{
return this._approvedPatchesComplianceLevel != null;
}
///
/// Gets and sets the property ApprovedPatchesEnableNonSecurity.
///
/// Indicates whether the list of approved patches includes non-security updates that
/// should be applied to the managed nodes. The default value is false
. Applies
/// to Linux managed nodes only.
///
///
public bool ApprovedPatchesEnableNonSecurity
{
get { return this._approvedPatchesEnableNonSecurity.GetValueOrDefault(); }
set { this._approvedPatchesEnableNonSecurity = value; }
}
// Check to see if ApprovedPatchesEnableNonSecurity property is set
internal bool IsSetApprovedPatchesEnableNonSecurity()
{
return this._approvedPatchesEnableNonSecurity.HasValue;
}
///
/// Gets and sets the property BaselineId.
///
/// The ID of the patch baseline to update.
///
///
[AWSProperty(Required=true, Min=20, Max=128)]
public string BaselineId
{
get { return this._baselineId; }
set { this._baselineId = value; }
}
// Check to see if BaselineId property is set
internal bool IsSetBaselineId()
{
return this._baselineId != null;
}
///
/// Gets and sets the property Description.
///
/// A description of the patch baseline.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property GlobalFilters.
///
/// A set of global filters used to include patches in the baseline.
///
///
public PatchFilterGroup GlobalFilters
{
get { return this._globalFilters; }
set { this._globalFilters = value; }
}
// Check to see if GlobalFilters property is set
internal bool IsSetGlobalFilters()
{
return this._globalFilters != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the patch baseline.
///
///
[AWSProperty(Min=3, Max=128)]
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 RejectedPatches.
///
/// A list of explicitly rejected patches for the baseline.
///
///
///
/// For information about accepted formats for lists of approved patches and rejected
/// patches, see About
/// package name formats for approved and rejected patch lists in the Amazon Web
/// Services Systems Manager User Guide.
///
///
[AWSProperty(Min=0, Max=50)]
public List RejectedPatches
{
get { return this._rejectedPatches; }
set { this._rejectedPatches = value; }
}
// Check to see if RejectedPatches property is set
internal bool IsSetRejectedPatches()
{
return this._rejectedPatches != null && this._rejectedPatches.Count > 0;
}
///
/// Gets and sets the property RejectedPatchesAction.
///
/// The action for Patch Manager to take on patches included in the RejectedPackages
/// list.
///
/// -
///
///
ALLOW_AS_DEPENDENCY
: A package in the Rejected
/// patches list is installed only if it is a dependency of another package. It is considered
/// compliant with the patch baseline, and its status is reported as InstalledOther
.
/// This is the default action if no option is specified.
///
/// -
///
///
BLOCK
: Packages in the RejectedPatches
list, and
/// packages that include them as dependencies, aren't installed under any circumstances.
/// If a package was installed before it was added to the Rejected
patches
/// list, it is considered non-compliant with the patch baseline, and its status is reported
/// as InstalledRejected
.
///
///
///
public PatchAction RejectedPatchesAction
{
get { return this._rejectedPatchesAction; }
set { this._rejectedPatchesAction = value; }
}
// Check to see if RejectedPatchesAction property is set
internal bool IsSetRejectedPatchesAction()
{
return this._rejectedPatchesAction != null;
}
///
/// Gets and sets the property Replace.
///
/// If True, then all fields that are required by the CreatePatchBaseline operation
/// are also required for this API request. Optional fields that aren't specified are
/// set to null.
///
///
public bool Replace
{
get { return this._replace.GetValueOrDefault(); }
set { this._replace = value; }
}
// Check to see if Replace property is set
internal bool IsSetReplace()
{
return this._replace.HasValue;
}
///
/// Gets and sets the property Sources.
///
/// Information about the patches to use to update the managed nodes, including target
/// operating systems and source repositories. Applies to Linux managed nodes only.
///
///
[AWSProperty(Min=0, Max=20)]
public List Sources
{
get { return this._sources; }
set { this._sources = value; }
}
// Check to see if Sources property is set
internal bool IsSetSources()
{
return this._sources != null && this._sources.Count > 0;
}
}
}