/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityLake { namespace Model { /** *

The configurations for HTTPS subscriber notification.

See * Also:

AWS * API Reference

*/ class HttpsNotificationConfiguration { public: AWS_SECURITYLAKE_API HttpsNotificationConfiguration(); AWS_SECURITYLAKE_API HttpsNotificationConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYLAKE_API HttpsNotificationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYLAKE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The key name for the notification subscription.

*/ inline const Aws::String& GetAuthorizationApiKeyName() const{ return m_authorizationApiKeyName; } /** *

The key name for the notification subscription.

*/ inline bool AuthorizationApiKeyNameHasBeenSet() const { return m_authorizationApiKeyNameHasBeenSet; } /** *

The key name for the notification subscription.

*/ inline void SetAuthorizationApiKeyName(const Aws::String& value) { m_authorizationApiKeyNameHasBeenSet = true; m_authorizationApiKeyName = value; } /** *

The key name for the notification subscription.

*/ inline void SetAuthorizationApiKeyName(Aws::String&& value) { m_authorizationApiKeyNameHasBeenSet = true; m_authorizationApiKeyName = std::move(value); } /** *

The key name for the notification subscription.

*/ inline void SetAuthorizationApiKeyName(const char* value) { m_authorizationApiKeyNameHasBeenSet = true; m_authorizationApiKeyName.assign(value); } /** *

The key name for the notification subscription.

*/ inline HttpsNotificationConfiguration& WithAuthorizationApiKeyName(const Aws::String& value) { SetAuthorizationApiKeyName(value); return *this;} /** *

The key name for the notification subscription.

*/ inline HttpsNotificationConfiguration& WithAuthorizationApiKeyName(Aws::String&& value) { SetAuthorizationApiKeyName(std::move(value)); return *this;} /** *

The key name for the notification subscription.

*/ inline HttpsNotificationConfiguration& WithAuthorizationApiKeyName(const char* value) { SetAuthorizationApiKeyName(value); return *this;} /** *

The key value for the notification subscription.

*/ inline const Aws::String& GetAuthorizationApiKeyValue() const{ return m_authorizationApiKeyValue; } /** *

The key value for the notification subscription.

*/ inline bool AuthorizationApiKeyValueHasBeenSet() const { return m_authorizationApiKeyValueHasBeenSet; } /** *

The key value for the notification subscription.

*/ inline void SetAuthorizationApiKeyValue(const Aws::String& value) { m_authorizationApiKeyValueHasBeenSet = true; m_authorizationApiKeyValue = value; } /** *

The key value for the notification subscription.

*/ inline void SetAuthorizationApiKeyValue(Aws::String&& value) { m_authorizationApiKeyValueHasBeenSet = true; m_authorizationApiKeyValue = std::move(value); } /** *

The key value for the notification subscription.

*/ inline void SetAuthorizationApiKeyValue(const char* value) { m_authorizationApiKeyValueHasBeenSet = true; m_authorizationApiKeyValue.assign(value); } /** *

The key value for the notification subscription.

*/ inline HttpsNotificationConfiguration& WithAuthorizationApiKeyValue(const Aws::String& value) { SetAuthorizationApiKeyValue(value); return *this;} /** *

The key value for the notification subscription.

*/ inline HttpsNotificationConfiguration& WithAuthorizationApiKeyValue(Aws::String&& value) { SetAuthorizationApiKeyValue(std::move(value)); return *this;} /** *

The key value for the notification subscription.

*/ inline HttpsNotificationConfiguration& WithAuthorizationApiKeyValue(const char* value) { SetAuthorizationApiKeyValue(value); return *this;} /** *

The subscription endpoint in Security Lake. If you prefer notification with * an HTTPs endpoint, populate this field.

*/ inline const Aws::String& GetEndpoint() const{ return m_endpoint; } /** *

The subscription endpoint in Security Lake. If you prefer notification with * an HTTPs endpoint, populate this field.

*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *

The subscription endpoint in Security Lake. If you prefer notification with * an HTTPs endpoint, populate this field.

*/ inline void SetEndpoint(const Aws::String& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *

The subscription endpoint in Security Lake. If you prefer notification with * an HTTPs endpoint, populate this field.

*/ inline void SetEndpoint(Aws::String&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *

The subscription endpoint in Security Lake. If you prefer notification with * an HTTPs endpoint, populate this field.

*/ inline void SetEndpoint(const char* value) { m_endpointHasBeenSet = true; m_endpoint.assign(value); } /** *

The subscription endpoint in Security Lake. If you prefer notification with * an HTTPs endpoint, populate this field.

*/ inline HttpsNotificationConfiguration& WithEndpoint(const Aws::String& value) { SetEndpoint(value); return *this;} /** *

The subscription endpoint in Security Lake. If you prefer notification with * an HTTPs endpoint, populate this field.

*/ inline HttpsNotificationConfiguration& WithEndpoint(Aws::String&& value) { SetEndpoint(std::move(value)); return *this;} /** *

The subscription endpoint in Security Lake. If you prefer notification with * an HTTPs endpoint, populate this field.

*/ inline HttpsNotificationConfiguration& WithEndpoint(const char* value) { SetEndpoint(value); return *this;} /** *

The HTTPS method used for the notification subscription.

*/ inline const HttpMethod& GetHttpMethod() const{ return m_httpMethod; } /** *

The HTTPS method used for the notification subscription.

*/ inline bool HttpMethodHasBeenSet() const { return m_httpMethodHasBeenSet; } /** *

The HTTPS method used for the notification subscription.

*/ inline void SetHttpMethod(const HttpMethod& value) { m_httpMethodHasBeenSet = true; m_httpMethod = value; } /** *

The HTTPS method used for the notification subscription.

*/ inline void SetHttpMethod(HttpMethod&& value) { m_httpMethodHasBeenSet = true; m_httpMethod = std::move(value); } /** *

The HTTPS method used for the notification subscription.

*/ inline HttpsNotificationConfiguration& WithHttpMethod(const HttpMethod& value) { SetHttpMethod(value); return *this;} /** *

The HTTPS method used for the notification subscription.

*/ inline HttpsNotificationConfiguration& WithHttpMethod(HttpMethod&& value) { SetHttpMethod(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role * that you created. For more information about ARNs and how to use them in * policies, see Managing * data access and Amazon * Web Services Managed Policies in the Amazon Security Lake User * Guide.

*/ inline const Aws::String& GetTargetRoleArn() const{ return m_targetRoleArn; } /** *

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role * that you created. For more information about ARNs and how to use them in * policies, see Managing * data access and Amazon * Web Services Managed Policies in the Amazon Security Lake User * Guide.

*/ inline bool TargetRoleArnHasBeenSet() const { return m_targetRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role * that you created. For more information about ARNs and how to use them in * policies, see Managing * data access and Amazon * Web Services Managed Policies in the Amazon Security Lake User * Guide.

*/ inline void SetTargetRoleArn(const Aws::String& value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role * that you created. For more information about ARNs and how to use them in * policies, see Managing * data access and Amazon * Web Services Managed Policies in the Amazon Security Lake User * Guide.

*/ inline void SetTargetRoleArn(Aws::String&& value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role * that you created. For more information about ARNs and how to use them in * policies, see Managing * data access and Amazon * Web Services Managed Policies in the Amazon Security Lake User * Guide.

*/ inline void SetTargetRoleArn(const char* value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role * that you created. For more information about ARNs and how to use them in * policies, see Managing * data access and Amazon * Web Services Managed Policies in the Amazon Security Lake User * Guide.

*/ inline HttpsNotificationConfiguration& WithTargetRoleArn(const Aws::String& value) { SetTargetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role * that you created. For more information about ARNs and how to use them in * policies, see Managing * data access and Amazon * Web Services Managed Policies in the Amazon Security Lake User * Guide.

*/ inline HttpsNotificationConfiguration& WithTargetRoleArn(Aws::String&& value) { SetTargetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role * that you created. For more information about ARNs and how to use them in * policies, see Managing * data access and Amazon * Web Services Managed Policies in the Amazon Security Lake User * Guide.

*/ inline HttpsNotificationConfiguration& WithTargetRoleArn(const char* value) { SetTargetRoleArn(value); return *this;} private: Aws::String m_authorizationApiKeyName; bool m_authorizationApiKeyNameHasBeenSet = false; Aws::String m_authorizationApiKeyValue; bool m_authorizationApiKeyValueHasBeenSet = false; Aws::String m_endpoint; bool m_endpointHasBeenSet = false; HttpMethod m_httpMethod; bool m_httpMethodHasBeenSet = false; Aws::String m_targetRoleArn; bool m_targetRoleArnHasBeenSet = false; }; } // namespace Model } // namespace SecurityLake } // namespace Aws