/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace CloudTrail { namespace Model { /** */ class UpdateEventDataStoreRequest : public CloudTrailRequest { public: AWS_CLOUDTRAIL_API UpdateEventDataStoreRequest(); // 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 "UpdateEventDataStore"; } AWS_CLOUDTRAIL_API Aws::String SerializePayload() const override; AWS_CLOUDTRAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ARN (or the ID suffix of the ARN) of the event data store that you want * to update.

*/ inline const Aws::String& GetEventDataStore() const{ return m_eventDataStore; } /** *

The ARN (or the ID suffix of the ARN) of the event data store that you want * to update.

*/ inline bool EventDataStoreHasBeenSet() const { return m_eventDataStoreHasBeenSet; } /** *

The ARN (or the ID suffix of the ARN) of the event data store that you want * to update.

*/ inline void SetEventDataStore(const Aws::String& value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore = value; } /** *

The ARN (or the ID suffix of the ARN) of the event data store that you want * to update.

*/ inline void SetEventDataStore(Aws::String&& value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore = std::move(value); } /** *

The ARN (or the ID suffix of the ARN) of the event data store that you want * to update.

*/ inline void SetEventDataStore(const char* value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore.assign(value); } /** *

The ARN (or the ID suffix of the ARN) of the event data store that you want * to update.

*/ inline UpdateEventDataStoreRequest& WithEventDataStore(const Aws::String& value) { SetEventDataStore(value); return *this;} /** *

The ARN (or the ID suffix of the ARN) of the event data store that you want * to update.

*/ inline UpdateEventDataStoreRequest& WithEventDataStore(Aws::String&& value) { SetEventDataStore(std::move(value)); return *this;} /** *

The ARN (or the ID suffix of the ARN) of the event data store that you want * to update.

*/ inline UpdateEventDataStoreRequest& WithEventDataStore(const char* value) { SetEventDataStore(value); return *this;} /** *

The event data store name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The event data store name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The event data store name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The event data store name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The event data store name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The event data store name.

*/ inline UpdateEventDataStoreRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The event data store name.

*/ inline UpdateEventDataStoreRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The event data store name.

*/ inline UpdateEventDataStoreRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The advanced event selectors used to select events for the event data store. * You can configure up to five advanced event selectors for each event data * store.

*/ inline const Aws::Vector& GetAdvancedEventSelectors() const{ return m_advancedEventSelectors; } /** *

The advanced event selectors used to select events for the event data store. * You can configure up to five advanced event selectors for each event data * store.

*/ inline bool AdvancedEventSelectorsHasBeenSet() const { return m_advancedEventSelectorsHasBeenSet; } /** *

The advanced event selectors used to select events for the event data store. * You can configure up to five advanced event selectors for each event data * store.

*/ inline void SetAdvancedEventSelectors(const Aws::Vector& value) { m_advancedEventSelectorsHasBeenSet = true; m_advancedEventSelectors = value; } /** *

The advanced event selectors used to select events for the event data store. * You can configure up to five advanced event selectors for each event data * store.

*/ inline void SetAdvancedEventSelectors(Aws::Vector&& value) { m_advancedEventSelectorsHasBeenSet = true; m_advancedEventSelectors = std::move(value); } /** *

The advanced event selectors used to select events for the event data store. * You can configure up to five advanced event selectors for each event data * store.

*/ inline UpdateEventDataStoreRequest& WithAdvancedEventSelectors(const Aws::Vector& value) { SetAdvancedEventSelectors(value); return *this;} /** *

The advanced event selectors used to select events for the event data store. * You can configure up to five advanced event selectors for each event data * store.

*/ inline UpdateEventDataStoreRequest& WithAdvancedEventSelectors(Aws::Vector&& value) { SetAdvancedEventSelectors(std::move(value)); return *this;} /** *

The advanced event selectors used to select events for the event data store. * You can configure up to five advanced event selectors for each event data * store.

*/ inline UpdateEventDataStoreRequest& AddAdvancedEventSelectors(const AdvancedEventSelector& value) { m_advancedEventSelectorsHasBeenSet = true; m_advancedEventSelectors.push_back(value); return *this; } /** *

The advanced event selectors used to select events for the event data store. * You can configure up to five advanced event selectors for each event data * store.

*/ inline UpdateEventDataStoreRequest& AddAdvancedEventSelectors(AdvancedEventSelector&& value) { m_advancedEventSelectorsHasBeenSet = true; m_advancedEventSelectors.push_back(std::move(value)); return *this; } /** *

Specifies whether an event data store collects events from all Regions, or * only from the Region in which it was created.

*/ inline bool GetMultiRegionEnabled() const{ return m_multiRegionEnabled; } /** *

Specifies whether an event data store collects events from all Regions, or * only from the Region in which it was created.

*/ inline bool MultiRegionEnabledHasBeenSet() const { return m_multiRegionEnabledHasBeenSet; } /** *

Specifies whether an event data store collects events from all Regions, or * only from the Region in which it was created.

*/ inline void SetMultiRegionEnabled(bool value) { m_multiRegionEnabledHasBeenSet = true; m_multiRegionEnabled = value; } /** *

Specifies whether an event data store collects events from all Regions, or * only from the Region in which it was created.

*/ inline UpdateEventDataStoreRequest& WithMultiRegionEnabled(bool value) { SetMultiRegionEnabled(value); return *this;} /** *

Specifies whether an event data store collects events logged for an * organization in Organizations.

*/ inline bool GetOrganizationEnabled() const{ return m_organizationEnabled; } /** *

Specifies whether an event data store collects events logged for an * organization in Organizations.

*/ inline bool OrganizationEnabledHasBeenSet() const { return m_organizationEnabledHasBeenSet; } /** *

Specifies whether an event data store collects events logged for an * organization in Organizations.

*/ inline void SetOrganizationEnabled(bool value) { m_organizationEnabledHasBeenSet = true; m_organizationEnabled = value; } /** *

Specifies whether an event data store collects events logged for an * organization in Organizations.

*/ inline UpdateEventDataStoreRequest& WithOrganizationEnabled(bool value) { SetOrganizationEnabled(value); return *this;} /** *

The retention period, in days.

*/ inline int GetRetentionPeriod() const{ return m_retentionPeriod; } /** *

The retention period, in days.

*/ inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; } /** *

The retention period, in days.

*/ inline void SetRetentionPeriod(int value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = value; } /** *

The retention period, in days.

*/ inline UpdateEventDataStoreRequest& WithRetentionPeriod(int value) { SetRetentionPeriod(value); return *this;} /** *

Indicates that termination protection is enabled and the event data store * cannot be automatically deleted.

*/ inline bool GetTerminationProtectionEnabled() const{ return m_terminationProtectionEnabled; } /** *

Indicates that termination protection is enabled and the event data store * cannot be automatically deleted.

*/ inline bool TerminationProtectionEnabledHasBeenSet() const { return m_terminationProtectionEnabledHasBeenSet; } /** *

Indicates that termination protection is enabled and the event data store * cannot be automatically deleted.

*/ inline void SetTerminationProtectionEnabled(bool value) { m_terminationProtectionEnabledHasBeenSet = true; m_terminationProtectionEnabled = value; } /** *

Indicates that termination protection is enabled and the event data store * cannot be automatically deleted.

*/ inline UpdateEventDataStoreRequest& WithTerminationProtectionEnabled(bool value) { SetTerminationProtectionEnabled(value); return *this;} /** *

Specifies the KMS key ID to use to encrypt the events delivered by * CloudTrail. The value can be an alias name prefixed by alias/, a * fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier.

Disabling or deleting the KMS key, or * removing CloudTrail permissions on the key, prevents CloudTrail from logging * events to the event data store, and prevents users from querying the data in the * event data store that was encrypted with the key. After you associate an event * data store with a KMS key, the KMS key cannot be removed or changed. Before you * disable or delete a KMS key that you are using with an event data store, delete * or back up your event data store.

CloudTrail also supports * KMS multi-Region keys. For more information about multi-Region keys, see Using * multi-Region keys in the Key Management Service Developer Guide.

*

Examples:

  • alias/MyAliasName

  • *

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • *
  • * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

  • 12345678-1234-1234-1234-123456789012

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

Specifies the KMS key ID to use to encrypt the events delivered by * CloudTrail. The value can be an alias name prefixed by alias/, a * fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier.

Disabling or deleting the KMS key, or * removing CloudTrail permissions on the key, prevents CloudTrail from logging * events to the event data store, and prevents users from querying the data in the * event data store that was encrypted with the key. After you associate an event * data store with a KMS key, the KMS key cannot be removed or changed. Before you * disable or delete a KMS key that you are using with an event data store, delete * or back up your event data store.

CloudTrail also supports * KMS multi-Region keys. For more information about multi-Region keys, see Using * multi-Region keys in the Key Management Service Developer Guide.

*

Examples:

  • alias/MyAliasName

  • *

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • *
  • * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

  • 12345678-1234-1234-1234-123456789012

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

Specifies the KMS key ID to use to encrypt the events delivered by * CloudTrail. The value can be an alias name prefixed by alias/, a * fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier.

Disabling or deleting the KMS key, or * removing CloudTrail permissions on the key, prevents CloudTrail from logging * events to the event data store, and prevents users from querying the data in the * event data store that was encrypted with the key. After you associate an event * data store with a KMS key, the KMS key cannot be removed or changed. Before you * disable or delete a KMS key that you are using with an event data store, delete * or back up your event data store.

CloudTrail also supports * KMS multi-Region keys. For more information about multi-Region keys, see Using * multi-Region keys in the Key Management Service Developer Guide.

*

Examples:

  • alias/MyAliasName

  • *

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • *
  • * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

  • 12345678-1234-1234-1234-123456789012

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

Specifies the KMS key ID to use to encrypt the events delivered by * CloudTrail. The value can be an alias name prefixed by alias/, a * fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier.

Disabling or deleting the KMS key, or * removing CloudTrail permissions on the key, prevents CloudTrail from logging * events to the event data store, and prevents users from querying the data in the * event data store that was encrypted with the key. After you associate an event * data store with a KMS key, the KMS key cannot be removed or changed. Before you * disable or delete a KMS key that you are using with an event data store, delete * or back up your event data store.

CloudTrail also supports * KMS multi-Region keys. For more information about multi-Region keys, see Using * multi-Region keys in the Key Management Service Developer Guide.

*

Examples:

  • alias/MyAliasName

  • *

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • *
  • * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

  • 12345678-1234-1234-1234-123456789012

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

Specifies the KMS key ID to use to encrypt the events delivered by * CloudTrail. The value can be an alias name prefixed by alias/, a * fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier.

Disabling or deleting the KMS key, or * removing CloudTrail permissions on the key, prevents CloudTrail from logging * events to the event data store, and prevents users from querying the data in the * event data store that was encrypted with the key. After you associate an event * data store with a KMS key, the KMS key cannot be removed or changed. Before you * disable or delete a KMS key that you are using with an event data store, delete * or back up your event data store.

CloudTrail also supports * KMS multi-Region keys. For more information about multi-Region keys, see Using * multi-Region keys in the Key Management Service Developer Guide.

*

Examples:

  • alias/MyAliasName

  • *

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • *
  • * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

  • 12345678-1234-1234-1234-123456789012

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

Specifies the KMS key ID to use to encrypt the events delivered by * CloudTrail. The value can be an alias name prefixed by alias/, a * fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier.

Disabling or deleting the KMS key, or * removing CloudTrail permissions on the key, prevents CloudTrail from logging * events to the event data store, and prevents users from querying the data in the * event data store that was encrypted with the key. After you associate an event * data store with a KMS key, the KMS key cannot be removed or changed. Before you * disable or delete a KMS key that you are using with an event data store, delete * or back up your event data store.

CloudTrail also supports * KMS multi-Region keys. For more information about multi-Region keys, see Using * multi-Region keys in the Key Management Service Developer Guide.

*

Examples:

  • alias/MyAliasName

  • *

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • *
  • * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

  • 12345678-1234-1234-1234-123456789012

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

Specifies the KMS key ID to use to encrypt the events delivered by * CloudTrail. The value can be an alias name prefixed by alias/, a * fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier.

Disabling or deleting the KMS key, or * removing CloudTrail permissions on the key, prevents CloudTrail from logging * events to the event data store, and prevents users from querying the data in the * event data store that was encrypted with the key. After you associate an event * data store with a KMS key, the KMS key cannot be removed or changed. Before you * disable or delete a KMS key that you are using with an event data store, delete * or back up your event data store.

CloudTrail also supports * KMS multi-Region keys. For more information about multi-Region keys, see Using * multi-Region keys in the Key Management Service Developer Guide.

*

Examples:

  • alias/MyAliasName

  • *

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • *
  • * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

  • 12345678-1234-1234-1234-123456789012

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

Specifies the KMS key ID to use to encrypt the events delivered by * CloudTrail. The value can be an alias name prefixed by alias/, a * fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier.

Disabling or deleting the KMS key, or * removing CloudTrail permissions on the key, prevents CloudTrail from logging * events to the event data store, and prevents users from querying the data in the * event data store that was encrypted with the key. After you associate an event * data store with a KMS key, the KMS key cannot be removed or changed. Before you * disable or delete a KMS key that you are using with an event data store, delete * or back up your event data store.

CloudTrail also supports * KMS multi-Region keys. For more information about multi-Region keys, see Using * multi-Region keys in the Key Management Service Developer Guide.

*

Examples:

  • alias/MyAliasName

  • *

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • *
  • * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

  • 12345678-1234-1234-1234-123456789012

  • *
*/ inline UpdateEventDataStoreRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} private: Aws::String m_eventDataStore; bool m_eventDataStoreHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_advancedEventSelectors; bool m_advancedEventSelectorsHasBeenSet = false; bool m_multiRegionEnabled; bool m_multiRegionEnabledHasBeenSet = false; bool m_organizationEnabled; bool m_organizationEnabledHasBeenSet = false; int m_retentionPeriod; bool m_retentionPeriodHasBeenSet = false; bool m_terminationProtectionEnabled; bool m_terminationProtectionEnabledHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; }; } // namespace Model } // namespace CloudTrail } // namespace Aws