/* * 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 { /// /// Operations engineers and IT professionals use Amazon Web Services Systems Manager /// OpsCenter to view, investigate, and remediate operational work items (OpsItems) impacting /// the performance and health of their Amazon Web Services resources. OpsCenter is integrated /// with Amazon EventBridge and Amazon CloudWatch. This means you can configure these /// services to automatically create an OpsItem in OpsCenter when a CloudWatch alarm enters /// the ALARM state or when EventBridge processes an event from any Amazon Web Services /// service that publishes events. Configuring Amazon CloudWatch alarms and EventBridge /// events to automatically create OpsItems allows you to quickly diagnose and remediate /// issues with Amazon Web Services resources from a single console. /// /// /// /// To help you diagnose issues, each OpsItem includes contextually relevant information /// such as the name and ID of the Amazon Web Services resource that generated the OpsItem, /// alarm or event details, alarm history, and an alarm timeline graph. For the Amazon /// Web Services resource, OpsCenter aggregates information from Config, CloudTrail logs, /// and EventBridge, so you don't have to navigate across multiple console pages during /// your investigation. For more information, see OpsCenter /// in the Amazon Web Services Systems Manager User Guide. /// /// public partial class OpsItem { private DateTime? _actualEndTime; private DateTime? _actualStartTime; private string _category; private string _createdBy; private DateTime? _createdTime; private string _description; private string _lastModifiedBy; private DateTime? _lastModifiedTime; private List _notifications = new List(); private Dictionary _operationalData = new Dictionary(); private string _opsItemArn; private string _opsItemId; private string _opsItemType; private DateTime? _plannedEndTime; private DateTime? _plannedStartTime; private int? _priority; private List _relatedOpsItems = new List(); private string _severity; private string _source; private OpsItemStatus _status; private string _title; private string _version; /// /// 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. /// /// An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, /// Security. /// /// [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 CreatedBy. /// /// The ARN of the Amazon Web Services account that created the OpsItem. /// /// public string CreatedBy { get { return this._createdBy; } set { this._createdBy = value; } } // Check to see if CreatedBy property is set internal bool IsSetCreatedBy() { return this._createdBy != null; } /// /// Gets and sets the property CreatedTime. /// /// The date and time the OpsItem was created. /// /// public DateTime CreatedTime { get { return this._createdTime.GetValueOrDefault(); } set { this._createdTime = value; } } // Check to see if CreatedTime property is set internal bool IsSetCreatedTime() { return this._createdTime.HasValue; } /// /// Gets and sets the property Description. /// /// The OpsItem description. /// /// [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 LastModifiedBy. /// /// The ARN of the Amazon Web Services account that last updated the OpsItem. /// /// public string LastModifiedBy { get { return this._lastModifiedBy; } set { this._lastModifiedBy = value; } } // Check to see if LastModifiedBy property is set internal bool IsSetLastModifiedBy() { return this._lastModifiedBy != null; } /// /// Gets and sets the property LastModifiedTime. /// /// The date and time the OpsItem was last updated. /// /// public DateTime LastModifiedTime { get { return this._lastModifiedTime.GetValueOrDefault(); } set { this._lastModifiedTime = value; } } // Check to see if LastModifiedTime property is set internal bool IsSetLastModifiedTime() { return this._lastModifiedTime.HasValue; } /// /// Gets and sets the property Notifications. /// /// The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon 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. /// /// 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 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. /// /// 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 OpsItemType. /// /// The type of OpsItem. Systems Manager supports the following types of OpsItems: /// ///
  • /// /// /aws/issue /// /// /// /// This type of OpsItem is used for default OpsItems created by OpsCenter. /// ///
  • /// /// /aws/changerequest /// /// /// /// This type of OpsItem is used by Change Manager for reviewing and approving or rejecting /// change requests. /// ///
  • /// /// /aws/insights /// /// /// /// This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate /// OpsItems. /// ///
///
public string OpsItemType { get { return this._opsItemType; } set { this._opsItemType = value; } } // Check to see if OpsItemType property is set internal bool IsSetOpsItemType() { return this._opsItemType != 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 OpsItem. 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. /// /// The severity of the OpsItem. Severity options range from 1 to 4. /// /// [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 Source. /// /// The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource /// is a subset of source. /// /// [AWSProperty(Min=1, Max=128)] public string Source { get { return this._source; } set { this._source = value; } } // Check to see if Source property is set internal bool IsSetSource() { return this._source != 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; } /// /// Gets and sets the property Version. /// /// The version of this OpsItem. Each time the OpsItem is edited the version number increments /// by one. /// /// public string Version { get { return this._version; } set { this._version = value; } } // Check to see if Version property is set internal bool IsSetVersion() { return this._version != null; } } }