/*
* 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-incidents-2018-05-10.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.SSMIncidents.Model
{
///
/// Container for the parameters to the CreateResponsePlan operation.
/// Creates a response plan that automates the initial response to incidents. A response
/// plan engages contacts, starts chat channel collaboration, and initiates runbooks at
/// the beginning of an incident.
///
public partial class CreateResponsePlanRequest : AmazonSSMIncidentsRequest
{
private List _actions = new List();
private ChatChannel _chatChannel;
private string _clientToken;
private string _displayName;
private List _engagements = new List();
private IncidentTemplate _incidentTemplate;
private List _integrations = new List();
private string _name;
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property Actions.
///
/// The actions that the response plan starts at the beginning of an incident.
///
///
[AWSProperty(Min=0, Max=1)]
public List Actions
{
get { return this._actions; }
set { this._actions = value; }
}
// Check to see if Actions property is set
internal bool IsSetActions()
{
return this._actions != null && this._actions.Count > 0;
}
///
/// Gets and sets the property ChatChannel.
///
/// The Chatbot chat channel used for collaboration during an incident.
///
///
public ChatChannel ChatChannel
{
get { return this._chatChannel; }
set { this._chatChannel = value; }
}
// Check to see if ChatChannel property is set
internal bool IsSetChatChannel()
{
return this._chatChannel != null;
}
///
/// Gets and sets the property ClientToken.
///
/// A token ensuring that the operation is called only once with the specified details.
///
///
[AWSProperty(Min=0, Max=128)]
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 DisplayName.
///
/// The long format of the response plan name. This field can contain spaces.
///
///
[AWSProperty(Min=0, Max=200)]
public string DisplayName
{
get { return this._displayName; }
set { this._displayName = value; }
}
// Check to see if DisplayName property is set
internal bool IsSetDisplayName()
{
return this._displayName != null;
}
///
/// Gets and sets the property Engagements.
///
/// The Amazon Resource Name (ARN) for the contacts and escalation plans that the response
/// plan engages during an incident.
///
///
[AWSProperty(Min=0, Max=5)]
public List Engagements
{
get { return this._engagements; }
set { this._engagements = value; }
}
// Check to see if Engagements property is set
internal bool IsSetEngagements()
{
return this._engagements != null && this._engagements.Count > 0;
}
///
/// Gets and sets the property IncidentTemplate.
///
/// Details used to create an incident when using this response plan.
///
///
[AWSProperty(Required=true)]
public IncidentTemplate IncidentTemplate
{
get { return this._incidentTemplate; }
set { this._incidentTemplate = value; }
}
// Check to see if IncidentTemplate property is set
internal bool IsSetIncidentTemplate()
{
return this._incidentTemplate != null;
}
///
/// Gets and sets the property Integrations.
///
/// Information about third-party services integrated into the response plan.
///
///
[AWSProperty(Min=0, Max=1)]
public List Integrations
{
get { return this._integrations; }
set { this._integrations = value; }
}
// Check to see if Integrations property is set
internal bool IsSetIntegrations()
{
return this._integrations != null && this._integrations.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// The short format name of the response plan. Can't include spaces.
///
///
[AWSProperty(Required=true, Min=1, Max=200)]
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 Tags.
///
/// A list of tags that you are adding to the response plan.
///
///
[AWSProperty(Min=1, Max=50)]
public Dictionary 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;
}
}
}