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

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline const Aws::Vector& GetDestinations() const{ return m_destinations; } /** *

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } /** *

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline void SetDestinations(const Aws::Vector& value) { m_destinationsHasBeenSet = true; m_destinations = value; } /** *

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline void SetDestinations(Aws::Vector&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } /** *

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline StartImportRequest& WithDestinations(const Aws::Vector& value) { SetDestinations(value); return *this;} /** *

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline StartImportRequest& WithDestinations(Aws::Vector&& value) { SetDestinations(std::move(value)); return *this;} /** *

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline StartImportRequest& AddDestinations(const Aws::String& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } /** *

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline StartImportRequest& AddDestinations(Aws::String&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } /** *

The ARN of the destination event data store. Use this parameter for a new * import.

*/ inline StartImportRequest& AddDestinations(const char* value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } /** *

The source S3 bucket for the import. Use this parameter for a new import. *

*/ inline const ImportSource& GetImportSource() const{ return m_importSource; } /** *

The source S3 bucket for the import. Use this parameter for a new import. *

*/ inline bool ImportSourceHasBeenSet() const { return m_importSourceHasBeenSet; } /** *

The source S3 bucket for the import. Use this parameter for a new import. *

*/ inline void SetImportSource(const ImportSource& value) { m_importSourceHasBeenSet = true; m_importSource = value; } /** *

The source S3 bucket for the import. Use this parameter for a new import. *

*/ inline void SetImportSource(ImportSource&& value) { m_importSourceHasBeenSet = true; m_importSource = std::move(value); } /** *

The source S3 bucket for the import. Use this parameter for a new import. *

*/ inline StartImportRequest& WithImportSource(const ImportSource& value) { SetImportSource(value); return *this;} /** *

The source S3 bucket for the import. Use this parameter for a new import. *

*/ inline StartImportRequest& WithImportSource(ImportSource&& value) { SetImportSource(std::move(value)); return *this;} /** *

Use with EndEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline const Aws::Utils::DateTime& GetStartEventTime() const{ return m_startEventTime; } /** *

Use with EndEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline bool StartEventTimeHasBeenSet() const { return m_startEventTimeHasBeenSet; } /** *

Use with EndEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline void SetStartEventTime(const Aws::Utils::DateTime& value) { m_startEventTimeHasBeenSet = true; m_startEventTime = value; } /** *

Use with EndEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline void SetStartEventTime(Aws::Utils::DateTime&& value) { m_startEventTimeHasBeenSet = true; m_startEventTime = std::move(value); } /** *

Use with EndEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline StartImportRequest& WithStartEventTime(const Aws::Utils::DateTime& value) { SetStartEventTime(value); return *this;} /** *

Use with EndEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline StartImportRequest& WithStartEventTime(Aws::Utils::DateTime&& value) { SetStartEventTime(std::move(value)); return *this;} /** *

Use with StartEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline const Aws::Utils::DateTime& GetEndEventTime() const{ return m_endEventTime; } /** *

Use with StartEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline bool EndEventTimeHasBeenSet() const { return m_endEventTimeHasBeenSet; } /** *

Use with StartEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline void SetEndEventTime(const Aws::Utils::DateTime& value) { m_endEventTimeHasBeenSet = true; m_endEventTime = value; } /** *

Use with StartEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline void SetEndEventTime(Aws::Utils::DateTime&& value) { m_endEventTimeHasBeenSet = true; m_endEventTime = std::move(value); } /** *

Use with StartEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline StartImportRequest& WithEndEventTime(const Aws::Utils::DateTime& value) { SetEndEventTime(value); return *this;} /** *

Use with StartEventTime to bound a StartImport * request, and limit imported trail events to only those events logged within a * specified time period. When you specify a time range, CloudTrail checks the * prefix and log file names to verify the names contain a date between the * specified StartEventTime and EndEventTime before * attempting to import events.

*/ inline StartImportRequest& WithEndEventTime(Aws::Utils::DateTime&& value) { SetEndEventTime(std::move(value)); return *this;} /** *

The ID of the import. Use this parameter when you are retrying an import. *

*/ inline const Aws::String& GetImportId() const{ return m_importId; } /** *

The ID of the import. Use this parameter when you are retrying an import. *

*/ inline bool ImportIdHasBeenSet() const { return m_importIdHasBeenSet; } /** *

The ID of the import. Use this parameter when you are retrying an import. *

*/ inline void SetImportId(const Aws::String& value) { m_importIdHasBeenSet = true; m_importId = value; } /** *

The ID of the import. Use this parameter when you are retrying an import. *

*/ inline void SetImportId(Aws::String&& value) { m_importIdHasBeenSet = true; m_importId = std::move(value); } /** *

The ID of the import. Use this parameter when you are retrying an import. *

*/ inline void SetImportId(const char* value) { m_importIdHasBeenSet = true; m_importId.assign(value); } /** *

The ID of the import. Use this parameter when you are retrying an import. *

*/ inline StartImportRequest& WithImportId(const Aws::String& value) { SetImportId(value); return *this;} /** *

The ID of the import. Use this parameter when you are retrying an import. *

*/ inline StartImportRequest& WithImportId(Aws::String&& value) { SetImportId(std::move(value)); return *this;} /** *

The ID of the import. Use this parameter when you are retrying an import. *

*/ inline StartImportRequest& WithImportId(const char* value) { SetImportId(value); return *this;} private: Aws::Vector m_destinations; bool m_destinationsHasBeenSet = false; ImportSource m_importSource; bool m_importSourceHasBeenSet = false; Aws::Utils::DateTime m_startEventTime; bool m_startEventTimeHasBeenSet = false; Aws::Utils::DateTime m_endEventTime; bool m_endEventTimeHasBeenSet = false; Aws::String m_importId; bool m_importIdHasBeenSet = false; }; } // namespace Model } // namespace CloudTrail } // namespace Aws