/*
* 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 snowball-2016-06-30.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.Snowball.Model
{
///
/// The Amazon Simple Notification Service (Amazon SNS) notification settings associated
/// with a specific job. The Notification
object is returned as a part of
/// the response syntax of the DescribeJob
action in the JobMetadata
/// data type.
///
///
///
/// When the notification settings are defined during job creation, you can choose to
/// notify based on a specific set of job states using the JobStatesToNotify
/// array of strings, or you can specify that you want to have Amazon SNS notifications
/// sent out for all job states with NotifyAll
set to true.
///
///
public partial class Notification
{
private string _devicePickupSnsTopicARN;
private List _jobStatesToNotify = new List();
private bool? _notifyAll;
private string _snsTopicARN;
///
/// Gets and sets the property DevicePickupSnsTopicARN.
///
/// Used to send SNS notifications for the person picking up the device (identified during
/// job creation).
///
///
[AWSProperty(Max=255)]
public string DevicePickupSnsTopicARN
{
get { return this._devicePickupSnsTopicARN; }
set { this._devicePickupSnsTopicARN = value; }
}
// Check to see if DevicePickupSnsTopicARN property is set
internal bool IsSetDevicePickupSnsTopicARN()
{
return this._devicePickupSnsTopicARN != null;
}
///
/// Gets and sets the property JobStatesToNotify.
///
/// The list of job states that will trigger a notification for this job.
///
///
public List JobStatesToNotify
{
get { return this._jobStatesToNotify; }
set { this._jobStatesToNotify = value; }
}
// Check to see if JobStatesToNotify property is set
internal bool IsSetJobStatesToNotify()
{
return this._jobStatesToNotify != null && this._jobStatesToNotify.Count > 0;
}
///
/// Gets and sets the property NotifyAll.
///
/// Any change in job state will trigger a notification for this job.
///
///
public bool NotifyAll
{
get { return this._notifyAll.GetValueOrDefault(); }
set { this._notifyAll = value; }
}
// Check to see if NotifyAll property is set
internal bool IsSetNotifyAll()
{
return this._notifyAll.HasValue;
}
///
/// Gets and sets the property SnsTopicARN.
///
/// The new SNS TopicArn
that you want to associate with this job. You can
/// create Amazon Resource Names (ARNs) for topics by using the CreateTopic
/// Amazon SNS API action.
///
///
///
/// You can subscribe email addresses to an Amazon SNS topic through the Amazon Web Services
/// Management Console, or by using the Subscribe
/// Amazon Simple Notification Service (Amazon SNS) API action.
///
///
[AWSProperty(Max=255)]
public string SnsTopicARN
{
get { return this._snsTopicARN; }
set { this._snsTopicARN = value; }
}
// Check to see if SnsTopicARN property is set
internal bool IsSetSnsTopicARN()
{
return this._snsTopicARN != null;
}
}
}