/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace RDS { namespace Model { /** */ class StartActivityStreamRequest : public RDSRequest { public: AWS_RDS_API StartActivityStreamRequest(); // 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 "StartActivityStream"; } AWS_RDS_API Aws::String SerializePayload() const override; protected: AWS_RDS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The Amazon Resource Name (ARN) of the DB cluster, for example, * arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

The Amazon Resource Name (ARN) of the DB cluster, for example, * arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the DB cluster, for example, * arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

The Amazon Resource Name (ARN) of the DB cluster, for example, * arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the DB cluster, for example, * arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the DB cluster, for example, * arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

*/ inline StartActivityStreamRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the DB cluster, for example, * arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

*/ inline StartActivityStreamRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the DB cluster, for example, * arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

*/ inline StartActivityStreamRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *

Specifies the mode of the database activity stream. Database events such as a * change or access generate an activity stream event. The database session can * handle these events either synchronously or asynchronously.

*/ inline const ActivityStreamMode& GetMode() const{ return m_mode; } /** *

Specifies the mode of the database activity stream. Database events such as a * change or access generate an activity stream event. The database session can * handle these events either synchronously or asynchronously.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

Specifies the mode of the database activity stream. Database events such as a * change or access generate an activity stream event. The database session can * handle these events either synchronously or asynchronously.

*/ inline void SetMode(const ActivityStreamMode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

Specifies the mode of the database activity stream. Database events such as a * change or access generate an activity stream event. The database session can * handle these events either synchronously or asynchronously.

*/ inline void SetMode(ActivityStreamMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

Specifies the mode of the database activity stream. Database events such as a * change or access generate an activity stream event. The database session can * handle these events either synchronously or asynchronously.

*/ inline StartActivityStreamRequest& WithMode(const ActivityStreamMode& value) { SetMode(value); return *this;} /** *

Specifies the mode of the database activity stream. Database events such as a * change or access generate an activity stream event. The database session can * handle these events either synchronously or asynchronously.

*/ inline StartActivityStreamRequest& WithMode(ActivityStreamMode&& value) { SetMode(std::move(value)); return *this;} /** *

The Amazon Web Services KMS key identifier for encrypting messages in the * database activity stream. The Amazon Web Services KMS key identifier is the key * ARN, key ID, alias ARN, or alias name for the KMS key.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The Amazon Web Services KMS key identifier for encrypting messages in the * database activity stream. The Amazon Web Services KMS key identifier is the key * ARN, key ID, alias ARN, or alias name for the KMS key.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The Amazon Web Services KMS key identifier for encrypting messages in the * database activity stream. The Amazon Web Services KMS key identifier is the key * ARN, key ID, alias ARN, or alias name for the KMS key.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The Amazon Web Services KMS key identifier for encrypting messages in the * database activity stream. The Amazon Web Services KMS key identifier is the key * ARN, key ID, alias ARN, or alias name for the KMS key.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The Amazon Web Services KMS key identifier for encrypting messages in the * database activity stream. The Amazon Web Services KMS key identifier is the key * ARN, key ID, alias ARN, or alias name for the KMS key.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The Amazon Web Services KMS key identifier for encrypting messages in the * database activity stream. The Amazon Web Services KMS key identifier is the key * ARN, key ID, alias ARN, or alias name for the KMS key.

*/ inline StartActivityStreamRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The Amazon Web Services KMS key identifier for encrypting messages in the * database activity stream. The Amazon Web Services KMS key identifier is the key * ARN, key ID, alias ARN, or alias name for the KMS key.

*/ inline StartActivityStreamRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The Amazon Web Services KMS key identifier for encrypting messages in the * database activity stream. The Amazon Web Services KMS key identifier is the key * ARN, key ID, alias ARN, or alias name for the KMS key.

*/ inline StartActivityStreamRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

Specifies whether or not the database activity stream is to start as soon as * possible, regardless of the maintenance window for the database.

*/ inline bool GetApplyImmediately() const{ return m_applyImmediately; } /** *

Specifies whether or not the database activity stream is to start as soon as * possible, regardless of the maintenance window for the database.

*/ inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; } /** *

Specifies whether or not the database activity stream is to start as soon as * possible, regardless of the maintenance window for the database.

*/ inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; } /** *

Specifies whether or not the database activity stream is to start as soon as * possible, regardless of the maintenance window for the database.

*/ inline StartActivityStreamRequest& WithApplyImmediately(bool value) { SetApplyImmediately(value); return *this;} /** *

Specifies whether the database activity stream includes engine-native audit * fields. This option applies to an Oracle or Microsoft SQL Server DB instance. By * default, no engine-native audit fields are included.

*/ inline bool GetEngineNativeAuditFieldsIncluded() const{ return m_engineNativeAuditFieldsIncluded; } /** *

Specifies whether the database activity stream includes engine-native audit * fields. This option applies to an Oracle or Microsoft SQL Server DB instance. By * default, no engine-native audit fields are included.

*/ inline bool EngineNativeAuditFieldsIncludedHasBeenSet() const { return m_engineNativeAuditFieldsIncludedHasBeenSet; } /** *

Specifies whether the database activity stream includes engine-native audit * fields. This option applies to an Oracle or Microsoft SQL Server DB instance. By * default, no engine-native audit fields are included.

*/ inline void SetEngineNativeAuditFieldsIncluded(bool value) { m_engineNativeAuditFieldsIncludedHasBeenSet = true; m_engineNativeAuditFieldsIncluded = value; } /** *

Specifies whether the database activity stream includes engine-native audit * fields. This option applies to an Oracle or Microsoft SQL Server DB instance. By * default, no engine-native audit fields are included.

*/ inline StartActivityStreamRequest& WithEngineNativeAuditFieldsIncluded(bool value) { SetEngineNativeAuditFieldsIncluded(value); return *this;} private: Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; ActivityStreamMode m_mode; bool m_modeHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; bool m_applyImmediately; bool m_applyImmediatelyHasBeenSet = false; bool m_engineNativeAuditFieldsIncluded; bool m_engineNativeAuditFieldsIncludedHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws