/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The Amazon Simple Notification Service (Amazon SNS) notification settings
* associated with a specific job. The When the notification settings are
* defined during job creation, you can choose to notify based on a specific set of
* job states using the Notification
object is returned
* as a part of the response syntax of the DescribeJob
action in the
* JobMetadata
data type.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.See Also:
AWS
* API Reference
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.
*/ inline const Aws::String& GetSnsTopicARN() const{ return m_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.
*/ inline bool SnsTopicARNHasBeenSet() const { return m_snsTopicARNHasBeenSet; } /** *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.
*/ inline void SetSnsTopicARN(const Aws::String& value) { m_snsTopicARNHasBeenSet = true; m_snsTopicARN = value; } /** *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.
*/ inline void SetSnsTopicARN(Aws::String&& value) { m_snsTopicARNHasBeenSet = true; m_snsTopicARN = std::move(value); } /** *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.
*/ inline void SetSnsTopicARN(const char* value) { m_snsTopicARNHasBeenSet = true; m_snsTopicARN.assign(value); } /** *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.
*/ inline Notification& WithSnsTopicARN(const Aws::String& value) { SetSnsTopicARN(value); return *this;} /** *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.
*/ inline Notification& WithSnsTopicARN(Aws::String&& value) { SetSnsTopicARN(std::move(value)); return *this;} /** *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.
*/ inline Notification& WithSnsTopicARN(const char* value) { SetSnsTopicARN(value); return *this;} /** *The list of job states that will trigger a notification for this job.
*/ inline const Aws::VectorThe list of job states that will trigger a notification for this job.
*/ inline bool JobStatesToNotifyHasBeenSet() const { return m_jobStatesToNotifyHasBeenSet; } /** *The list of job states that will trigger a notification for this job.
*/ inline void SetJobStatesToNotify(const Aws::VectorThe list of job states that will trigger a notification for this job.
*/ inline void SetJobStatesToNotify(Aws::VectorThe list of job states that will trigger a notification for this job.
*/ inline Notification& WithJobStatesToNotify(const Aws::VectorThe list of job states that will trigger a notification for this job.
*/ inline Notification& WithJobStatesToNotify(Aws::VectorThe list of job states that will trigger a notification for this job.
*/ inline Notification& AddJobStatesToNotify(const JobState& value) { m_jobStatesToNotifyHasBeenSet = true; m_jobStatesToNotify.push_back(value); return *this; } /** *The list of job states that will trigger a notification for this job.
*/ inline Notification& AddJobStatesToNotify(JobState&& value) { m_jobStatesToNotifyHasBeenSet = true; m_jobStatesToNotify.push_back(std::move(value)); return *this; } /** *Any change in job state will trigger a notification for this job.
*/ inline bool GetNotifyAll() const{ return m_notifyAll; } /** *Any change in job state will trigger a notification for this job.
*/ inline bool NotifyAllHasBeenSet() const { return m_notifyAllHasBeenSet; } /** *Any change in job state will trigger a notification for this job.
*/ inline void SetNotifyAll(bool value) { m_notifyAllHasBeenSet = true; m_notifyAll = value; } /** *Any change in job state will trigger a notification for this job.
*/ inline Notification& WithNotifyAll(bool value) { SetNotifyAll(value); return *this;} /** *Used to send SNS notifications for the person picking up the device * (identified during job creation).
*/ inline const Aws::String& GetDevicePickupSnsTopicARN() const{ return m_devicePickupSnsTopicARN; } /** *Used to send SNS notifications for the person picking up the device * (identified during job creation).
*/ inline bool DevicePickupSnsTopicARNHasBeenSet() const { return m_devicePickupSnsTopicARNHasBeenSet; } /** *Used to send SNS notifications for the person picking up the device * (identified during job creation).
*/ inline void SetDevicePickupSnsTopicARN(const Aws::String& value) { m_devicePickupSnsTopicARNHasBeenSet = true; m_devicePickupSnsTopicARN = value; } /** *Used to send SNS notifications for the person picking up the device * (identified during job creation).
*/ inline void SetDevicePickupSnsTopicARN(Aws::String&& value) { m_devicePickupSnsTopicARNHasBeenSet = true; m_devicePickupSnsTopicARN = std::move(value); } /** *Used to send SNS notifications for the person picking up the device * (identified during job creation).
*/ inline void SetDevicePickupSnsTopicARN(const char* value) { m_devicePickupSnsTopicARNHasBeenSet = true; m_devicePickupSnsTopicARN.assign(value); } /** *Used to send SNS notifications for the person picking up the device * (identified during job creation).
*/ inline Notification& WithDevicePickupSnsTopicARN(const Aws::String& value) { SetDevicePickupSnsTopicARN(value); return *this;} /** *Used to send SNS notifications for the person picking up the device * (identified during job creation).
*/ inline Notification& WithDevicePickupSnsTopicARN(Aws::String&& value) { SetDevicePickupSnsTopicARN(std::move(value)); return *this;} /** *Used to send SNS notifications for the person picking up the device * (identified during job creation).
*/ inline Notification& WithDevicePickupSnsTopicARN(const char* value) { SetDevicePickupSnsTopicARN(value); return *this;} private: Aws::String m_snsTopicARN; bool m_snsTopicARNHasBeenSet = false; Aws::Vector