/*
* 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 UpdateOpsItem operation.
/// Edit or change an OpsItem. You must have permission in Identity and Access Management
/// (IAM) to update an OpsItem. For more information, see Set
/// up OpsCenter in the Amazon Web Services Systems Manager User Guide.
///
///
///
/// Operations engineers and IT professionals use Amazon Web Services Systems Manager
/// OpsCenter to view, investigate, and remediate operational issues impacting the performance
/// and health of their Amazon Web Services resources. For more information, see OpsCenter
/// in the Amazon Web Services Systems Manager User Guide.
///
///
public partial class UpdateOpsItemRequest : AmazonSimpleSystemsManagementRequest
{
private DateTime? _actualEndTime;
private DateTime? _actualStartTime;
private string _category;
private string _description;
private List _notifications = new List();
private Dictionary _operationalData = new Dictionary();
private List _operationalDataToDelete = new List();
private string _opsItemArn;
private string _opsItemId;
private DateTime? _plannedEndTime;
private DateTime? _plannedStartTime;
private int? _priority;
private List _relatedOpsItems = new List();
private string _severity;
private OpsItemStatus _status;
private string _title;
///
/// Gets and sets the property ActualEndTime.
///
/// The time a runbook workflow ended. Currently reported only for the OpsItem type /aws/changerequest
.
///
///
public DateTime ActualEndTime
{
get { return this._actualEndTime.GetValueOrDefault(); }
set { this._actualEndTime = value; }
}
// Check to see if ActualEndTime property is set
internal bool IsSetActualEndTime()
{
return this._actualEndTime.HasValue;
}
///
/// Gets and sets the property ActualStartTime.
///
/// The time a runbook workflow started. Currently reported only for the OpsItem type
/// /aws/changerequest
.
///
///
public DateTime ActualStartTime
{
get { return this._actualStartTime.GetValueOrDefault(); }
set { this._actualStartTime = value; }
}
// Check to see if ActualStartTime property is set
internal bool IsSetActualStartTime()
{
return this._actualStartTime.HasValue;
}
///
/// Gets and sets the property Category.
///
/// Specify a new category for an OpsItem.
///
///
[AWSProperty(Min=1, Max=64)]
public string Category
{
get { return this._category; }
set { this._category = value; }
}
// Check to see if Category property is set
internal bool IsSetCategory()
{
return this._category != null;
}
///
/// Gets and sets the property Description.
///
/// Update the information about the OpsItem. Provide enough information so that users
/// reading this OpsItem for the first time understand the issue.
///
///
[AWSProperty(Min=1, Max=2048)]
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 Notifications.
///
/// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this
/// OpsItem is edited or changed.
///
///
public List Notifications
{
get { return this._notifications; }
set { this._notifications = value; }
}
// Check to see if Notifications property is set
internal bool IsSetNotifications()
{
return this._notifications != null && this._notifications.Count > 0;
}
///
/// Gets and sets the property OperationalData.
///
/// Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem
/// object.
///
///
///
/// Operational data is custom data that provides useful reference details about the OpsItem.
/// For example, you can specify log files, error strings, license keys, troubleshooting
/// tips, or other relevant data. You enter operational data as key-value pairs. The key
/// has a maximum length of 128 characters. The value has a maximum size of 20 KB.
///
///
///
/// Operational data keys can't begin with the following: amazon
,
/// aws
, amzn
, ssm
, /amazon
, /aws
,
/// /amzn
, /ssm
.
///
///
///
/// You can choose to make the data searchable by other users in the account or you can
/// restrict search access. Searchable data means that all users with access to the OpsItem
/// Overview page (as provided by the DescribeOpsItems API operation) can view
/// and search on the specified data. Operational data that isn't searchable is only viewable
/// by users who have access to the OpsItem (as provided by the GetOpsItem API
/// operation).
///
///
///
/// Use the /aws/resources
key in OperationalData to specify a related resource
/// in the request. Use the /aws/automations
key in OperationalData to associate
/// an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands
/// that use these keys, see Creating
/// OpsItems manually in the Amazon Web Services Systems Manager User Guide.
///
///
public Dictionary OperationalData
{
get { return this._operationalData; }
set { this._operationalData = value; }
}
// Check to see if OperationalData property is set
internal bool IsSetOperationalData()
{
return this._operationalData != null && this._operationalData.Count > 0;
}
///
/// Gets and sets the property OperationalDataToDelete.
///
/// Keys that you want to remove from the OperationalData map.
///
///
public List OperationalDataToDelete
{
get { return this._operationalDataToDelete; }
set { this._operationalDataToDelete = value; }
}
// Check to see if OperationalDataToDelete property is set
internal bool IsSetOperationalDataToDelete()
{
return this._operationalDataToDelete != null && this._operationalDataToDelete.Count > 0;
}
///
/// Gets and sets the property OpsItemArn.
///
/// The OpsItem Amazon Resource Name (ARN).
///
///
[AWSProperty(Min=20, Max=2048)]
public string OpsItemArn
{
get { return this._opsItemArn; }
set { this._opsItemArn = value; }
}
// Check to see if OpsItemArn property is set
internal bool IsSetOpsItemArn()
{
return this._opsItemArn != null;
}
///
/// Gets and sets the property OpsItemId.
///
/// The ID of the OpsItem.
///
///
[AWSProperty(Required=true)]
public string OpsItemId
{
get { return this._opsItemId; }
set { this._opsItemId = value; }
}
// Check to see if OpsItemId property is set
internal bool IsSetOpsItemId()
{
return this._opsItemId != null;
}
///
/// Gets and sets the property PlannedEndTime.
///
/// The time specified in a change request for a runbook workflow to end. Currently supported
/// only for the OpsItem type /aws/changerequest
.
///
///
public DateTime PlannedEndTime
{
get { return this._plannedEndTime.GetValueOrDefault(); }
set { this._plannedEndTime = value; }
}
// Check to see if PlannedEndTime property is set
internal bool IsSetPlannedEndTime()
{
return this._plannedEndTime.HasValue;
}
///
/// Gets and sets the property PlannedStartTime.
///
/// The time specified in a change request for a runbook workflow to start. Currently
/// supported only for the OpsItem type /aws/changerequest
.
///
///
public DateTime PlannedStartTime
{
get { return this._plannedStartTime.GetValueOrDefault(); }
set { this._plannedStartTime = value; }
}
// Check to see if PlannedStartTime property is set
internal bool IsSetPlannedStartTime()
{
return this._plannedStartTime.HasValue;
}
///
/// Gets and sets the property Priority.
///
/// The importance of this OpsItem in relation to other OpsItems in the system.
///
///
[AWSProperty(Min=1, Max=5)]
public int Priority
{
get { return this._priority.GetValueOrDefault(); }
set { this._priority = value; }
}
// Check to see if Priority property is set
internal bool IsSetPriority()
{
return this._priority.HasValue;
}
///
/// Gets and sets the property RelatedOpsItems.
///
/// One or more OpsItems that share something in common with the current OpsItems. For
/// example, related OpsItems can include OpsItems with similar error messages, impacted
/// resources, or statuses for the impacted resource.
///
///
public List RelatedOpsItems
{
get { return this._relatedOpsItems; }
set { this._relatedOpsItems = value; }
}
// Check to see if RelatedOpsItems property is set
internal bool IsSetRelatedOpsItems()
{
return this._relatedOpsItems != null && this._relatedOpsItems.Count > 0;
}
///
/// Gets and sets the property Severity.
///
/// Specify a new severity for an OpsItem.
///
///
[AWSProperty(Min=1, Max=64)]
public string Severity
{
get { return this._severity; }
set { this._severity = value; }
}
// Check to see if Severity property is set
internal bool IsSetSeverity()
{
return this._severity != null;
}
///
/// Gets and sets the property Status.
///
/// The OpsItem status. Status can be Open
, In Progress
, or
/// Resolved
. For more information, see Editing
/// OpsItem details in the Amazon Web Services Systems Manager User Guide.
///
///
public OpsItemStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Title.
///
/// A short heading that describes the nature of the OpsItem and the impacted resource.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Title
{
get { return this._title; }
set { this._title = value; }
}
// Check to see if Title property is set
internal bool IsSetTitle()
{
return this._title != null;
}
}
}