/*
* 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 CreatePatchBaseline operation.
/// Creates a patch baseline.
///
///
///
/// For information about valid key-value pairs in PatchFilters
for each
/// supported operating system type, see PatchFilter.
///
///
///
public partial class CreatePatchBaselineRequest : AmazonSimpleSystemsManagementRequest
{
private PatchRuleGroup _approvalRules;
private List _approvedPatches = new List();
private PatchComplianceLevel _approvedPatchesComplianceLevel;
private bool? _approvedPatchesEnableNonSecurity;
private string _clientToken;
private string _description;
private PatchFilterGroup _globalFilters;
private string _name;
private OperatingSystem _operatingSystem;
private List _rejectedPatches = new List();
private PatchAction _rejectedPatchesAction;
private List _sources = new List();
private List _tags = 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.
///
/// Defines the compliance level for approved patches. When an approved patch is reported
/// as missing, this value describes the severity of the compliance violation. The default
/// value is UNSPECIFIED
.
///
///
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 ClientToken.
///
/// User-provided idempotency token.
///
///
[AWSProperty(Min=1, Max=64)]
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != 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(Required=true, 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 OperatingSystem.
///
/// Defines the operating system the patch baseline applies to. The default value is WINDOWS
.
///
///
public OperatingSystem OperatingSystem
{
get { return this._operatingSystem; }
set { this._operatingSystem = value; }
}
// Check to see if OperatingSystem property is set
internal bool IsSetOperatingSystem()
{
return this._operatingSystem != 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 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;
}
///
/// Gets and sets the property Tags.
///
/// Optional metadata that you assign to a resource. Tags enable you to categorize a resource
/// in different ways, such as by purpose, owner, or environment. For example, you might
/// want to tag a patch baseline to identify the severity level of patches it specifies
/// and the operating system family it applies to. In this case, you could specify the
/// following key-value pairs:
///
/// -
///
///
Key=PatchSeverity,Value=Critical
///
/// -
///
///
Key=OS,Value=Windows
///
///
///
/// To add tags to an existing patch baseline, use the AddTagsToResource operation.
///
///
///
[AWSProperty(Max=1000)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}