/*
* 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 CreateOpsItem operation.
/// Creates a new OpsItem. You must have permission in Identity and Access Management
/// (IAM) to create a new 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 Amazon
/// Web Services Systems Manager OpsCenter in the Amazon Web Services Systems Manager
/// User Guide.
///
///
public partial class CreateOpsItemRequest : AmazonSimpleSystemsManagementRequest
{
private string _accountId;
private DateTime? _actualEndTime;
private DateTime? _actualStartTime;
private string _category;
private string _description;
private List _notifications = new List();
private Dictionary _operationalData = new Dictionary();
private string _opsItemType;
private DateTime? _plannedEndTime;
private DateTime? _plannedStartTime;
private int? _priority;
private List _relatedOpsItems = new List();
private string _severity;
private string _source;
private List _tags = new List();
private string _title;
///
/// Gets and sets the property AccountId.
///
/// The target Amazon Web Services account where you want to create an OpsItem. To make
/// this call, your account must be configured to work with OpsItems across accounts.
/// For more information, see Set
/// up OpsCenter in the Amazon Web Services Systems Manager User Guide.
///
///
public string AccountId
{
get { return this._accountId; }
set { this._accountId = value; }
}
// Check to see if AccountId property is set
internal bool IsSetAccountId()
{
return this._accountId != null;
}
///
/// 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 category to assign to 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.
///
/// Information about the OpsItem.
///
///
[AWSProperty(Required=true, 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.
///
/// 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 OpsItemType.
///
/// The type of OpsItem to create. 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 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 severity to assign to 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 Source.
///
/// The origin of the OpsItem, such as Amazon EC2 or Systems Manager.
///
///
///
/// The source name can't contain the following strings: aws
, amazon
,
/// and amzn
.
///
///
///
[AWSProperty(Required=true, 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 Tags.
///
/// Optional metadata that you assign to a resource.
///
///
///
/// Tags use a key-value pair. For example:
///
///
///
/// Key=Department,Value=Finance
///
///
///
/// To add tags to a new OpsItem, a user must have IAM permissions for both the ssm:CreateOpsItems
/// operation and the ssm:AddTagsToResource
operation. To add tags to an
/// existing OpsItem, 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;
}
///
/// Gets and sets the property Title.
///
/// A short heading that describes the nature of the OpsItem and the impacted resource.
///
///
[AWSProperty(Required=true, 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;
}
}
}