/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about the Shield Advanced subscription for an
* account.See Also:
AWS
* API Reference
The start time of the subscription, in Unix time in seconds.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *The start time of the subscription, in Unix time in seconds.
*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *The start time of the subscription, in Unix time in seconds.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *The start time of the subscription, in Unix time in seconds.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *The start time of the subscription, in Unix time in seconds.
*/ inline Subscription& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *The start time of the subscription, in Unix time in seconds.
*/ inline Subscription& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *The date and time your subscription will end.
*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *The date and time your subscription will end.
*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *The date and time your subscription will end.
*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *The date and time your subscription will end.
*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *The date and time your subscription will end.
*/ inline Subscription& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *The date and time your subscription will end.
*/ inline Subscription& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *The length, in seconds, of the Shield Advanced subscription for the * account.
*/ inline long long GetTimeCommitmentInSeconds() const{ return m_timeCommitmentInSeconds; } /** *The length, in seconds, of the Shield Advanced subscription for the * account.
*/ inline bool TimeCommitmentInSecondsHasBeenSet() const { return m_timeCommitmentInSecondsHasBeenSet; } /** *The length, in seconds, of the Shield Advanced subscription for the * account.
*/ inline void SetTimeCommitmentInSeconds(long long value) { m_timeCommitmentInSecondsHasBeenSet = true; m_timeCommitmentInSeconds = value; } /** *The length, in seconds, of the Shield Advanced subscription for the * account.
*/ inline Subscription& WithTimeCommitmentInSeconds(long long value) { SetTimeCommitmentInSeconds(value); return *this;} /** *If ENABLED
, the subscription will be automatically renewed at
* the end of the existing subscription period.
When you initally create a
* subscription, AutoRenew
is set to ENABLED
. You can
* change this by submitting an UpdateSubscription
request. If the
* UpdateSubscription
request does not included a value for
* AutoRenew
, the existing value for AutoRenew
remains
* unchanged.
If ENABLED
, the subscription will be automatically renewed at
* the end of the existing subscription period.
When you initally create a
* subscription, AutoRenew
is set to ENABLED
. You can
* change this by submitting an UpdateSubscription
request. If the
* UpdateSubscription
request does not included a value for
* AutoRenew
, the existing value for AutoRenew
remains
* unchanged.
If ENABLED
, the subscription will be automatically renewed at
* the end of the existing subscription period.
When you initally create a
* subscription, AutoRenew
is set to ENABLED
. You can
* change this by submitting an UpdateSubscription
request. If the
* UpdateSubscription
request does not included a value for
* AutoRenew
, the existing value for AutoRenew
remains
* unchanged.
If ENABLED
, the subscription will be automatically renewed at
* the end of the existing subscription period.
When you initally create a
* subscription, AutoRenew
is set to ENABLED
. You can
* change this by submitting an UpdateSubscription
request. If the
* UpdateSubscription
request does not included a value for
* AutoRenew
, the existing value for AutoRenew
remains
* unchanged.
If ENABLED
, the subscription will be automatically renewed at
* the end of the existing subscription period.
When you initally create a
* subscription, AutoRenew
is set to ENABLED
. You can
* change this by submitting an UpdateSubscription
request. If the
* UpdateSubscription
request does not included a value for
* AutoRenew
, the existing value for AutoRenew
remains
* unchanged.
If ENABLED
, the subscription will be automatically renewed at
* the end of the existing subscription period.
When you initally create a
* subscription, AutoRenew
is set to ENABLED
. You can
* change this by submitting an UpdateSubscription
request. If the
* UpdateSubscription
request does not included a value for
* AutoRenew
, the existing value for AutoRenew
remains
* unchanged.
Specifies how many protections of a given type you can create.
*/ inline const Aws::VectorSpecifies how many protections of a given type you can create.
*/ inline bool LimitsHasBeenSet() const { return m_limitsHasBeenSet; } /** *Specifies how many protections of a given type you can create.
*/ inline void SetLimits(const Aws::VectorSpecifies how many protections of a given type you can create.
*/ inline void SetLimits(Aws::VectorSpecifies how many protections of a given type you can create.
*/ inline Subscription& WithLimits(const Aws::VectorSpecifies how many protections of a given type you can create.
*/ inline Subscription& WithLimits(Aws::VectorSpecifies how many protections of a given type you can create.
*/ inline Subscription& AddLimits(const Limit& value) { m_limitsHasBeenSet = true; m_limits.push_back(value); return *this; } /** *Specifies how many protections of a given type you can create.
*/ inline Subscription& AddLimits(Limit&& value) { m_limitsHasBeenSet = true; m_limits.push_back(std::move(value)); return *this; } /** *If ENABLED
, the Shield Response Team (SRT) will use email and
* phone to notify contacts about escalations to the SRT and to initiate proactive
* customer support.
If PENDING
, you have requested proactive
* engagement and the request is pending. The status changes to
* ENABLED
when your request is fully processed.
If
* DISABLED
, the SRT will not proactively notify contacts about
* escalations or to initiate proactive customer support.
If ENABLED
, the Shield Response Team (SRT) will use email and
* phone to notify contacts about escalations to the SRT and to initiate proactive
* customer support.
If PENDING
, you have requested proactive
* engagement and the request is pending. The status changes to
* ENABLED
when your request is fully processed.
If
* DISABLED
, the SRT will not proactively notify contacts about
* escalations or to initiate proactive customer support.
If ENABLED
, the Shield Response Team (SRT) will use email and
* phone to notify contacts about escalations to the SRT and to initiate proactive
* customer support.
If PENDING
, you have requested proactive
* engagement and the request is pending. The status changes to
* ENABLED
when your request is fully processed.
If
* DISABLED
, the SRT will not proactively notify contacts about
* escalations or to initiate proactive customer support.
If ENABLED
, the Shield Response Team (SRT) will use email and
* phone to notify contacts about escalations to the SRT and to initiate proactive
* customer support.
If PENDING
, you have requested proactive
* engagement and the request is pending. The status changes to
* ENABLED
when your request is fully processed.
If
* DISABLED
, the SRT will not proactively notify contacts about
* escalations or to initiate proactive customer support.
If ENABLED
, the Shield Response Team (SRT) will use email and
* phone to notify contacts about escalations to the SRT and to initiate proactive
* customer support.
If PENDING
, you have requested proactive
* engagement and the request is pending. The status changes to
* ENABLED
when your request is fully processed.
If
* DISABLED
, the SRT will not proactively notify contacts about
* escalations or to initiate proactive customer support.
If ENABLED
, the Shield Response Team (SRT) will use email and
* phone to notify contacts about escalations to the SRT and to initiate proactive
* customer support.
If PENDING
, you have requested proactive
* engagement and the request is pending. The status changes to
* ENABLED
when your request is fully processed.
If
* DISABLED
, the SRT will not proactively notify contacts about
* escalations or to initiate proactive customer support.
Limits settings for your subscription.
*/ inline const SubscriptionLimits& GetSubscriptionLimits() const{ return m_subscriptionLimits; } /** *Limits settings for your subscription.
*/ inline bool SubscriptionLimitsHasBeenSet() const { return m_subscriptionLimitsHasBeenSet; } /** *Limits settings for your subscription.
*/ inline void SetSubscriptionLimits(const SubscriptionLimits& value) { m_subscriptionLimitsHasBeenSet = true; m_subscriptionLimits = value; } /** *Limits settings for your subscription.
*/ inline void SetSubscriptionLimits(SubscriptionLimits&& value) { m_subscriptionLimitsHasBeenSet = true; m_subscriptionLimits = std::move(value); } /** *Limits settings for your subscription.
*/ inline Subscription& WithSubscriptionLimits(const SubscriptionLimits& value) { SetSubscriptionLimits(value); return *this;} /** *Limits settings for your subscription.
*/ inline Subscription& WithSubscriptionLimits(SubscriptionLimits&& value) { SetSubscriptionLimits(std::move(value)); return *this;} /** *The ARN (Amazon Resource Name) of the subscription.
*/ inline const Aws::String& GetSubscriptionArn() const{ return m_subscriptionArn; } /** *The ARN (Amazon Resource Name) of the subscription.
*/ inline bool SubscriptionArnHasBeenSet() const { return m_subscriptionArnHasBeenSet; } /** *The ARN (Amazon Resource Name) of the subscription.
*/ inline void SetSubscriptionArn(const Aws::String& value) { m_subscriptionArnHasBeenSet = true; m_subscriptionArn = value; } /** *The ARN (Amazon Resource Name) of the subscription.
*/ inline void SetSubscriptionArn(Aws::String&& value) { m_subscriptionArnHasBeenSet = true; m_subscriptionArn = std::move(value); } /** *The ARN (Amazon Resource Name) of the subscription.
*/ inline void SetSubscriptionArn(const char* value) { m_subscriptionArnHasBeenSet = true; m_subscriptionArn.assign(value); } /** *The ARN (Amazon Resource Name) of the subscription.
*/ inline Subscription& WithSubscriptionArn(const Aws::String& value) { SetSubscriptionArn(value); return *this;} /** *The ARN (Amazon Resource Name) of the subscription.
*/ inline Subscription& WithSubscriptionArn(Aws::String&& value) { SetSubscriptionArn(std::move(value)); return *this;} /** *The ARN (Amazon Resource Name) of the subscription.
*/ inline Subscription& WithSubscriptionArn(const char* value) { SetSubscriptionArn(value); return *this;} private: Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; long long m_timeCommitmentInSeconds; bool m_timeCommitmentInSecondsHasBeenSet = false; AutoRenew m_autoRenew; bool m_autoRenewHasBeenSet = false; Aws::Vector