/** * 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 SSM { namespace Model { /** */ class CreateResourceDataSyncRequest : public SSMRequest { public: AWS_SSM_API CreateResourceDataSyncRequest(); // 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 "CreateResourceDataSync"; } AWS_SSM_API Aws::String SerializePayload() const override; AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A name for the configuration.

*/ inline const Aws::String& GetSyncName() const{ return m_syncName; } /** *

A name for the configuration.

*/ inline bool SyncNameHasBeenSet() const { return m_syncNameHasBeenSet; } /** *

A name for the configuration.

*/ inline void SetSyncName(const Aws::String& value) { m_syncNameHasBeenSet = true; m_syncName = value; } /** *

A name for the configuration.

*/ inline void SetSyncName(Aws::String&& value) { m_syncNameHasBeenSet = true; m_syncName = std::move(value); } /** *

A name for the configuration.

*/ inline void SetSyncName(const char* value) { m_syncNameHasBeenSet = true; m_syncName.assign(value); } /** *

A name for the configuration.

*/ inline CreateResourceDataSyncRequest& WithSyncName(const Aws::String& value) { SetSyncName(value); return *this;} /** *

A name for the configuration.

*/ inline CreateResourceDataSyncRequest& WithSyncName(Aws::String&& value) { SetSyncName(std::move(value)); return *this;} /** *

A name for the configuration.

*/ inline CreateResourceDataSyncRequest& WithSyncName(const char* value) { SetSyncName(value); return *this;} /** *

Amazon S3 configuration details for the sync. This parameter is required if * the SyncType value is SyncToDestination.

*/ inline const ResourceDataSyncS3Destination& GetS3Destination() const{ return m_s3Destination; } /** *

Amazon S3 configuration details for the sync. This parameter is required if * the SyncType value is SyncToDestination.

*/ inline bool S3DestinationHasBeenSet() const { return m_s3DestinationHasBeenSet; } /** *

Amazon S3 configuration details for the sync. This parameter is required if * the SyncType value is SyncToDestination.

*/ inline void SetS3Destination(const ResourceDataSyncS3Destination& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = value; } /** *

Amazon S3 configuration details for the sync. This parameter is required if * the SyncType value is SyncToDestination.

*/ inline void SetS3Destination(ResourceDataSyncS3Destination&& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = std::move(value); } /** *

Amazon S3 configuration details for the sync. This parameter is required if * the SyncType value is SyncToDestination.

*/ inline CreateResourceDataSyncRequest& WithS3Destination(const ResourceDataSyncS3Destination& value) { SetS3Destination(value); return *this;} /** *

Amazon S3 configuration details for the sync. This parameter is required if * the SyncType value is SyncToDestination.

*/ inline CreateResourceDataSyncRequest& WithS3Destination(ResourceDataSyncS3Destination&& value) { SetS3Destination(std::move(value)); return *this;} /** *

Specify SyncToDestination to create a resource data sync that * synchronizes data to an S3 bucket for Inventory. If you specify * SyncToDestination, you must provide a value for * S3Destination. Specify SyncFromSource to synchronize * data from a single account and multiple Regions, or multiple Amazon Web Services * accounts and Amazon Web Services Regions, as listed in Organizations for * Explorer. If you specify SyncFromSource, you must provide a value * for SyncSource. The default value is * SyncToDestination.

*/ inline const Aws::String& GetSyncType() const{ return m_syncType; } /** *

Specify SyncToDestination to create a resource data sync that * synchronizes data to an S3 bucket for Inventory. If you specify * SyncToDestination, you must provide a value for * S3Destination. Specify SyncFromSource to synchronize * data from a single account and multiple Regions, or multiple Amazon Web Services * accounts and Amazon Web Services Regions, as listed in Organizations for * Explorer. If you specify SyncFromSource, you must provide a value * for SyncSource. The default value is * SyncToDestination.

*/ inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } /** *

Specify SyncToDestination to create a resource data sync that * synchronizes data to an S3 bucket for Inventory. If you specify * SyncToDestination, you must provide a value for * S3Destination. Specify SyncFromSource to synchronize * data from a single account and multiple Regions, or multiple Amazon Web Services * accounts and Amazon Web Services Regions, as listed in Organizations for * Explorer. If you specify SyncFromSource, you must provide a value * for SyncSource. The default value is * SyncToDestination.

*/ inline void SetSyncType(const Aws::String& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } /** *

Specify SyncToDestination to create a resource data sync that * synchronizes data to an S3 bucket for Inventory. If you specify * SyncToDestination, you must provide a value for * S3Destination. Specify SyncFromSource to synchronize * data from a single account and multiple Regions, or multiple Amazon Web Services * accounts and Amazon Web Services Regions, as listed in Organizations for * Explorer. If you specify SyncFromSource, you must provide a value * for SyncSource. The default value is * SyncToDestination.

*/ inline void SetSyncType(Aws::String&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } /** *

Specify SyncToDestination to create a resource data sync that * synchronizes data to an S3 bucket for Inventory. If you specify * SyncToDestination, you must provide a value for * S3Destination. Specify SyncFromSource to synchronize * data from a single account and multiple Regions, or multiple Amazon Web Services * accounts and Amazon Web Services Regions, as listed in Organizations for * Explorer. If you specify SyncFromSource, you must provide a value * for SyncSource. The default value is * SyncToDestination.

*/ inline void SetSyncType(const char* value) { m_syncTypeHasBeenSet = true; m_syncType.assign(value); } /** *

Specify SyncToDestination to create a resource data sync that * synchronizes data to an S3 bucket for Inventory. If you specify * SyncToDestination, you must provide a value for * S3Destination. Specify SyncFromSource to synchronize * data from a single account and multiple Regions, or multiple Amazon Web Services * accounts and Amazon Web Services Regions, as listed in Organizations for * Explorer. If you specify SyncFromSource, you must provide a value * for SyncSource. The default value is * SyncToDestination.

*/ inline CreateResourceDataSyncRequest& WithSyncType(const Aws::String& value) { SetSyncType(value); return *this;} /** *

Specify SyncToDestination to create a resource data sync that * synchronizes data to an S3 bucket for Inventory. If you specify * SyncToDestination, you must provide a value for * S3Destination. Specify SyncFromSource to synchronize * data from a single account and multiple Regions, or multiple Amazon Web Services * accounts and Amazon Web Services Regions, as listed in Organizations for * Explorer. If you specify SyncFromSource, you must provide a value * for SyncSource. The default value is * SyncToDestination.

*/ inline CreateResourceDataSyncRequest& WithSyncType(Aws::String&& value) { SetSyncType(std::move(value)); return *this;} /** *

Specify SyncToDestination to create a resource data sync that * synchronizes data to an S3 bucket for Inventory. If you specify * SyncToDestination, you must provide a value for * S3Destination. Specify SyncFromSource to synchronize * data from a single account and multiple Regions, or multiple Amazon Web Services * accounts and Amazon Web Services Regions, as listed in Organizations for * Explorer. If you specify SyncFromSource, you must provide a value * for SyncSource. The default value is * SyncToDestination.

*/ inline CreateResourceDataSyncRequest& WithSyncType(const char* value) { SetSyncType(value); return *this;} /** *

Specify information about the data sources to synchronize. This parameter is * required if the SyncType value is SyncFromSource.

*/ inline const ResourceDataSyncSource& GetSyncSource() const{ return m_syncSource; } /** *

Specify information about the data sources to synchronize. This parameter is * required if the SyncType value is SyncFromSource.

*/ inline bool SyncSourceHasBeenSet() const { return m_syncSourceHasBeenSet; } /** *

Specify information about the data sources to synchronize. This parameter is * required if the SyncType value is SyncFromSource.

*/ inline void SetSyncSource(const ResourceDataSyncSource& value) { m_syncSourceHasBeenSet = true; m_syncSource = value; } /** *

Specify information about the data sources to synchronize. This parameter is * required if the SyncType value is SyncFromSource.

*/ inline void SetSyncSource(ResourceDataSyncSource&& value) { m_syncSourceHasBeenSet = true; m_syncSource = std::move(value); } /** *

Specify information about the data sources to synchronize. This parameter is * required if the SyncType value is SyncFromSource.

*/ inline CreateResourceDataSyncRequest& WithSyncSource(const ResourceDataSyncSource& value) { SetSyncSource(value); return *this;} /** *

Specify information about the data sources to synchronize. This parameter is * required if the SyncType value is SyncFromSource.

*/ inline CreateResourceDataSyncRequest& WithSyncSource(ResourceDataSyncSource&& value) { SetSyncSource(std::move(value)); return *this;} private: Aws::String m_syncName; bool m_syncNameHasBeenSet = false; ResourceDataSyncS3Destination m_s3Destination; bool m_s3DestinationHasBeenSet = false; Aws::String m_syncType; bool m_syncTypeHasBeenSet = false; ResourceDataSyncSource m_syncSource; bool m_syncSourceHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws