/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace SecurityLake { namespace Model { /** */ class CreateDataLakeExceptionSubscriptionRequest : public SecurityLakeRequest { public: AWS_SECURITYLAKE_API CreateDataLakeExceptionSubscriptionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDataLakeExceptionSubscription"; } AWS_SECURITYLAKE_API Aws::String SerializePayload() const override; /** *

The expiration period and time-to-live (TTL).

*/ inline long long GetExceptionTimeToLive() const{ return m_exceptionTimeToLive; } /** *

The expiration period and time-to-live (TTL).

*/ inline bool ExceptionTimeToLiveHasBeenSet() const { return m_exceptionTimeToLiveHasBeenSet; } /** *

The expiration period and time-to-live (TTL).

*/ inline void SetExceptionTimeToLive(long long value) { m_exceptionTimeToLiveHasBeenSet = true; m_exceptionTimeToLive = value; } /** *

The expiration period and time-to-live (TTL).

*/ inline CreateDataLakeExceptionSubscriptionRequest& WithExceptionTimeToLive(long long value) { SetExceptionTimeToLive(value); return *this;} /** *

The Amazon Web Services account where you want to receive exception * notifications.

*/ inline const Aws::String& GetNotificationEndpoint() const{ return m_notificationEndpoint; } /** *

The Amazon Web Services account where you want to receive exception * notifications.

*/ inline bool NotificationEndpointHasBeenSet() const { return m_notificationEndpointHasBeenSet; } /** *

The Amazon Web Services account where you want to receive exception * notifications.

*/ inline void SetNotificationEndpoint(const Aws::String& value) { m_notificationEndpointHasBeenSet = true; m_notificationEndpoint = value; } /** *

The Amazon Web Services account where you want to receive exception * notifications.

*/ inline void SetNotificationEndpoint(Aws::String&& value) { m_notificationEndpointHasBeenSet = true; m_notificationEndpoint = std::move(value); } /** *

The Amazon Web Services account where you want to receive exception * notifications.

*/ inline void SetNotificationEndpoint(const char* value) { m_notificationEndpointHasBeenSet = true; m_notificationEndpoint.assign(value); } /** *

The Amazon Web Services account where you want to receive exception * notifications.

*/ inline CreateDataLakeExceptionSubscriptionRequest& WithNotificationEndpoint(const Aws::String& value) { SetNotificationEndpoint(value); return *this;} /** *

The Amazon Web Services account where you want to receive exception * notifications.

*/ inline CreateDataLakeExceptionSubscriptionRequest& WithNotificationEndpoint(Aws::String&& value) { SetNotificationEndpoint(std::move(value)); return *this;} /** *

The Amazon Web Services account where you want to receive exception * notifications.

*/ inline CreateDataLakeExceptionSubscriptionRequest& WithNotificationEndpoint(const char* value) { SetNotificationEndpoint(value); return *this;} /** *

The subscription protocol to which exception notifications are posted.

*/ inline const Aws::String& GetSubscriptionProtocol() const{ return m_subscriptionProtocol; } /** *

The subscription protocol to which exception notifications are posted.

*/ inline bool SubscriptionProtocolHasBeenSet() const { return m_subscriptionProtocolHasBeenSet; } /** *

The subscription protocol to which exception notifications are posted.

*/ inline void SetSubscriptionProtocol(const Aws::String& value) { m_subscriptionProtocolHasBeenSet = true; m_subscriptionProtocol = value; } /** *

The subscription protocol to which exception notifications are posted.

*/ inline void SetSubscriptionProtocol(Aws::String&& value) { m_subscriptionProtocolHasBeenSet = true; m_subscriptionProtocol = std::move(value); } /** *

The subscription protocol to which exception notifications are posted.

*/ inline void SetSubscriptionProtocol(const char* value) { m_subscriptionProtocolHasBeenSet = true; m_subscriptionProtocol.assign(value); } /** *

The subscription protocol to which exception notifications are posted.

*/ inline CreateDataLakeExceptionSubscriptionRequest& WithSubscriptionProtocol(const Aws::String& value) { SetSubscriptionProtocol(value); return *this;} /** *

The subscription protocol to which exception notifications are posted.

*/ inline CreateDataLakeExceptionSubscriptionRequest& WithSubscriptionProtocol(Aws::String&& value) { SetSubscriptionProtocol(std::move(value)); return *this;} /** *

The subscription protocol to which exception notifications are posted.

*/ inline CreateDataLakeExceptionSubscriptionRequest& WithSubscriptionProtocol(const char* value) { SetSubscriptionProtocol(value); return *this;} private: long long m_exceptionTimeToLive; bool m_exceptionTimeToLiveHasBeenSet = false; Aws::String m_notificationEndpoint; bool m_notificationEndpointHasBeenSet = false; Aws::String m_subscriptionProtocol; bool m_subscriptionProtocolHasBeenSet = false; }; } // namespace Model } // namespace SecurityLake } // namespace Aws