/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once /* Generic header includes */ #include #include #include #include #include #include #include #include #include /* End of generic header includes */ /* Service model headers required in StorageGatewayClient header */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* End of service model headers required in StorageGatewayClient header */ namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace StorageGateway { using StorageGatewayClientConfiguration = Aws::Client::GenericClientConfiguration; using StorageGatewayEndpointProviderBase = Aws::StorageGateway::Endpoint::StorageGatewayEndpointProviderBase; using StorageGatewayEndpointProvider = Aws::StorageGateway::Endpoint::StorageGatewayEndpointProvider; namespace Model { /* Service model forward declarations required in StorageGatewayClient header */ class ActivateGatewayRequest; class AddCacheRequest; class AddTagsToResourceRequest; class AddUploadBufferRequest; class AddWorkingStorageRequest; class AssignTapePoolRequest; class AssociateFileSystemRequest; class AttachVolumeRequest; class CancelArchivalRequest; class CancelRetrievalRequest; class CreateCachediSCSIVolumeRequest; class CreateNFSFileShareRequest; class CreateSMBFileShareRequest; class CreateSnapshotRequest; class CreateSnapshotFromVolumeRecoveryPointRequest; class CreateStorediSCSIVolumeRequest; class CreateTapePoolRequest; class CreateTapeWithBarcodeRequest; class CreateTapesRequest; class DeleteAutomaticTapeCreationPolicyRequest; class DeleteBandwidthRateLimitRequest; class DeleteChapCredentialsRequest; class DeleteFileShareRequest; class DeleteGatewayRequest; class DeleteSnapshotScheduleRequest; class DeleteTapeRequest; class DeleteTapeArchiveRequest; class DeleteTapePoolRequest; class DeleteVolumeRequest; class DescribeAvailabilityMonitorTestRequest; class DescribeBandwidthRateLimitRequest; class DescribeBandwidthRateLimitScheduleRequest; class DescribeCacheRequest; class DescribeCachediSCSIVolumesRequest; class DescribeChapCredentialsRequest; class DescribeFileSystemAssociationsRequest; class DescribeGatewayInformationRequest; class DescribeMaintenanceStartTimeRequest; class DescribeNFSFileSharesRequest; class DescribeSMBFileSharesRequest; class DescribeSMBSettingsRequest; class DescribeSnapshotScheduleRequest; class DescribeStorediSCSIVolumesRequest; class DescribeTapeArchivesRequest; class DescribeTapeRecoveryPointsRequest; class DescribeTapesRequest; class DescribeUploadBufferRequest; class DescribeVTLDevicesRequest; class DescribeWorkingStorageRequest; class DetachVolumeRequest; class DisableGatewayRequest; class DisassociateFileSystemRequest; class JoinDomainRequest; class ListAutomaticTapeCreationPoliciesRequest; class ListFileSharesRequest; class ListFileSystemAssociationsRequest; class ListGatewaysRequest; class ListLocalDisksRequest; class ListTagsForResourceRequest; class ListTapePoolsRequest; class ListTapesRequest; class ListVolumeInitiatorsRequest; class ListVolumeRecoveryPointsRequest; class ListVolumesRequest; class NotifyWhenUploadedRequest; class RefreshCacheRequest; class RemoveTagsFromResourceRequest; class ResetCacheRequest; class RetrieveTapeArchiveRequest; class RetrieveTapeRecoveryPointRequest; class SetLocalConsolePasswordRequest; class SetSMBGuestPasswordRequest; class ShutdownGatewayRequest; class StartAvailabilityMonitorTestRequest; class StartGatewayRequest; class UpdateAutomaticTapeCreationPolicyRequest; class UpdateBandwidthRateLimitRequest; class UpdateBandwidthRateLimitScheduleRequest; class UpdateChapCredentialsRequest; class UpdateFileSystemAssociationRequest; class UpdateGatewayInformationRequest; class UpdateGatewaySoftwareNowRequest; class UpdateMaintenanceStartTimeRequest; class UpdateNFSFileShareRequest; class UpdateSMBFileShareRequest; class UpdateSMBFileShareVisibilityRequest; class UpdateSMBLocalGroupsRequest; class UpdateSMBSecurityStrategyRequest; class UpdateSnapshotScheduleRequest; class UpdateVTLDeviceTypeRequest; /* End of service model forward declarations required in StorageGatewayClient header */ /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome ActivateGatewayOutcome; typedef Aws::Utils::Outcome AddCacheOutcome; typedef Aws::Utils::Outcome AddTagsToResourceOutcome; typedef Aws::Utils::Outcome AddUploadBufferOutcome; typedef Aws::Utils::Outcome AddWorkingStorageOutcome; typedef Aws::Utils::Outcome AssignTapePoolOutcome; typedef Aws::Utils::Outcome AssociateFileSystemOutcome; typedef Aws::Utils::Outcome AttachVolumeOutcome; typedef Aws::Utils::Outcome CancelArchivalOutcome; typedef Aws::Utils::Outcome CancelRetrievalOutcome; typedef Aws::Utils::Outcome CreateCachediSCSIVolumeOutcome; typedef Aws::Utils::Outcome CreateNFSFileShareOutcome; typedef Aws::Utils::Outcome CreateSMBFileShareOutcome; typedef Aws::Utils::Outcome CreateSnapshotOutcome; typedef Aws::Utils::Outcome CreateSnapshotFromVolumeRecoveryPointOutcome; typedef Aws::Utils::Outcome CreateStorediSCSIVolumeOutcome; typedef Aws::Utils::Outcome CreateTapePoolOutcome; typedef Aws::Utils::Outcome CreateTapeWithBarcodeOutcome; typedef Aws::Utils::Outcome CreateTapesOutcome; typedef Aws::Utils::Outcome DeleteAutomaticTapeCreationPolicyOutcome; typedef Aws::Utils::Outcome DeleteBandwidthRateLimitOutcome; typedef Aws::Utils::Outcome DeleteChapCredentialsOutcome; typedef Aws::Utils::Outcome DeleteFileShareOutcome; typedef Aws::Utils::Outcome DeleteGatewayOutcome; typedef Aws::Utils::Outcome DeleteSnapshotScheduleOutcome; typedef Aws::Utils::Outcome DeleteTapeOutcome; typedef Aws::Utils::Outcome DeleteTapeArchiveOutcome; typedef Aws::Utils::Outcome DeleteTapePoolOutcome; typedef Aws::Utils::Outcome DeleteVolumeOutcome; typedef Aws::Utils::Outcome DescribeAvailabilityMonitorTestOutcome; typedef Aws::Utils::Outcome DescribeBandwidthRateLimitOutcome; typedef Aws::Utils::Outcome DescribeBandwidthRateLimitScheduleOutcome; typedef Aws::Utils::Outcome DescribeCacheOutcome; typedef Aws::Utils::Outcome DescribeCachediSCSIVolumesOutcome; typedef Aws::Utils::Outcome DescribeChapCredentialsOutcome; typedef Aws::Utils::Outcome DescribeFileSystemAssociationsOutcome; typedef Aws::Utils::Outcome DescribeGatewayInformationOutcome; typedef Aws::Utils::Outcome DescribeMaintenanceStartTimeOutcome; typedef Aws::Utils::Outcome DescribeNFSFileSharesOutcome; typedef Aws::Utils::Outcome DescribeSMBFileSharesOutcome; typedef Aws::Utils::Outcome DescribeSMBSettingsOutcome; typedef Aws::Utils::Outcome DescribeSnapshotScheduleOutcome; typedef Aws::Utils::Outcome DescribeStorediSCSIVolumesOutcome; typedef Aws::Utils::Outcome DescribeTapeArchivesOutcome; typedef Aws::Utils::Outcome DescribeTapeRecoveryPointsOutcome; typedef Aws::Utils::Outcome DescribeTapesOutcome; typedef Aws::Utils::Outcome DescribeUploadBufferOutcome; typedef Aws::Utils::Outcome DescribeVTLDevicesOutcome; typedef Aws::Utils::Outcome DescribeWorkingStorageOutcome; typedef Aws::Utils::Outcome DetachVolumeOutcome; typedef Aws::Utils::Outcome DisableGatewayOutcome; typedef Aws::Utils::Outcome DisassociateFileSystemOutcome; typedef Aws::Utils::Outcome JoinDomainOutcome; typedef Aws::Utils::Outcome ListAutomaticTapeCreationPoliciesOutcome; typedef Aws::Utils::Outcome ListFileSharesOutcome; typedef Aws::Utils::Outcome ListFileSystemAssociationsOutcome; typedef Aws::Utils::Outcome ListGatewaysOutcome; typedef Aws::Utils::Outcome ListLocalDisksOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListTapePoolsOutcome; typedef Aws::Utils::Outcome ListTapesOutcome; typedef Aws::Utils::Outcome ListVolumeInitiatorsOutcome; typedef Aws::Utils::Outcome ListVolumeRecoveryPointsOutcome; typedef Aws::Utils::Outcome ListVolumesOutcome; typedef Aws::Utils::Outcome NotifyWhenUploadedOutcome; typedef Aws::Utils::Outcome RefreshCacheOutcome; typedef Aws::Utils::Outcome RemoveTagsFromResourceOutcome; typedef Aws::Utils::Outcome ResetCacheOutcome; typedef Aws::Utils::Outcome RetrieveTapeArchiveOutcome; typedef Aws::Utils::Outcome RetrieveTapeRecoveryPointOutcome; typedef Aws::Utils::Outcome SetLocalConsolePasswordOutcome; typedef Aws::Utils::Outcome SetSMBGuestPasswordOutcome; typedef Aws::Utils::Outcome ShutdownGatewayOutcome; typedef Aws::Utils::Outcome StartAvailabilityMonitorTestOutcome; typedef Aws::Utils::Outcome StartGatewayOutcome; typedef Aws::Utils::Outcome UpdateAutomaticTapeCreationPolicyOutcome; typedef Aws::Utils::Outcome UpdateBandwidthRateLimitOutcome; typedef Aws::Utils::Outcome UpdateBandwidthRateLimitScheduleOutcome; typedef Aws::Utils::Outcome UpdateChapCredentialsOutcome; typedef Aws::Utils::Outcome UpdateFileSystemAssociationOutcome; typedef Aws::Utils::Outcome UpdateGatewayInformationOutcome; typedef Aws::Utils::Outcome UpdateGatewaySoftwareNowOutcome; typedef Aws::Utils::Outcome UpdateMaintenanceStartTimeOutcome; typedef Aws::Utils::Outcome UpdateNFSFileShareOutcome; typedef Aws::Utils::Outcome UpdateSMBFileShareOutcome; typedef Aws::Utils::Outcome UpdateSMBFileShareVisibilityOutcome; typedef Aws::Utils::Outcome UpdateSMBLocalGroupsOutcome; typedef Aws::Utils::Outcome UpdateSMBSecurityStrategyOutcome; typedef Aws::Utils::Outcome UpdateSnapshotScheduleOutcome; typedef Aws::Utils::Outcome UpdateVTLDeviceTypeOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ typedef std::future ActivateGatewayOutcomeCallable; typedef std::future AddCacheOutcomeCallable; typedef std::future AddTagsToResourceOutcomeCallable; typedef std::future AddUploadBufferOutcomeCallable; typedef std::future AddWorkingStorageOutcomeCallable; typedef std::future AssignTapePoolOutcomeCallable; typedef std::future AssociateFileSystemOutcomeCallable; typedef std::future AttachVolumeOutcomeCallable; typedef std::future CancelArchivalOutcomeCallable; typedef std::future CancelRetrievalOutcomeCallable; typedef std::future CreateCachediSCSIVolumeOutcomeCallable; typedef std::future CreateNFSFileShareOutcomeCallable; typedef std::future CreateSMBFileShareOutcomeCallable; typedef std::future CreateSnapshotOutcomeCallable; typedef std::future CreateSnapshotFromVolumeRecoveryPointOutcomeCallable; typedef std::future CreateStorediSCSIVolumeOutcomeCallable; typedef std::future CreateTapePoolOutcomeCallable; typedef std::future CreateTapeWithBarcodeOutcomeCallable; typedef std::future CreateTapesOutcomeCallable; typedef std::future DeleteAutomaticTapeCreationPolicyOutcomeCallable; typedef std::future DeleteBandwidthRateLimitOutcomeCallable; typedef std::future DeleteChapCredentialsOutcomeCallable; typedef std::future DeleteFileShareOutcomeCallable; typedef std::future DeleteGatewayOutcomeCallable; typedef std::future DeleteSnapshotScheduleOutcomeCallable; typedef std::future DeleteTapeOutcomeCallable; typedef std::future DeleteTapeArchiveOutcomeCallable; typedef std::future DeleteTapePoolOutcomeCallable; typedef std::future DeleteVolumeOutcomeCallable; typedef std::future DescribeAvailabilityMonitorTestOutcomeCallable; typedef std::future DescribeBandwidthRateLimitOutcomeCallable; typedef std::future DescribeBandwidthRateLimitScheduleOutcomeCallable; typedef std::future DescribeCacheOutcomeCallable; typedef std::future DescribeCachediSCSIVolumesOutcomeCallable; typedef std::future DescribeChapCredentialsOutcomeCallable; typedef std::future DescribeFileSystemAssociationsOutcomeCallable; typedef std::future DescribeGatewayInformationOutcomeCallable; typedef std::future DescribeMaintenanceStartTimeOutcomeCallable; typedef std::future DescribeNFSFileSharesOutcomeCallable; typedef std::future DescribeSMBFileSharesOutcomeCallable; typedef std::future DescribeSMBSettingsOutcomeCallable; typedef std::future DescribeSnapshotScheduleOutcomeCallable; typedef std::future DescribeStorediSCSIVolumesOutcomeCallable; typedef std::future DescribeTapeArchivesOutcomeCallable; typedef std::future DescribeTapeRecoveryPointsOutcomeCallable; typedef std::future DescribeTapesOutcomeCallable; typedef std::future DescribeUploadBufferOutcomeCallable; typedef std::future DescribeVTLDevicesOutcomeCallable; typedef std::future DescribeWorkingStorageOutcomeCallable; typedef std::future DetachVolumeOutcomeCallable; typedef std::future DisableGatewayOutcomeCallable; typedef std::future DisassociateFileSystemOutcomeCallable; typedef std::future JoinDomainOutcomeCallable; typedef std::future ListAutomaticTapeCreationPoliciesOutcomeCallable; typedef std::future ListFileSharesOutcomeCallable; typedef std::future ListFileSystemAssociationsOutcomeCallable; typedef std::future ListGatewaysOutcomeCallable; typedef std::future ListLocalDisksOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListTapePoolsOutcomeCallable; typedef std::future ListTapesOutcomeCallable; typedef std::future ListVolumeInitiatorsOutcomeCallable; typedef std::future ListVolumeRecoveryPointsOutcomeCallable; typedef std::future ListVolumesOutcomeCallable; typedef std::future NotifyWhenUploadedOutcomeCallable; typedef std::future RefreshCacheOutcomeCallable; typedef std::future RemoveTagsFromResourceOutcomeCallable; typedef std::future ResetCacheOutcomeCallable; typedef std::future RetrieveTapeArchiveOutcomeCallable; typedef std::future RetrieveTapeRecoveryPointOutcomeCallable; typedef std::future SetLocalConsolePasswordOutcomeCallable; typedef std::future SetSMBGuestPasswordOutcomeCallable; typedef std::future ShutdownGatewayOutcomeCallable; typedef std::future StartAvailabilityMonitorTestOutcomeCallable; typedef std::future StartGatewayOutcomeCallable; typedef std::future UpdateAutomaticTapeCreationPolicyOutcomeCallable; typedef std::future UpdateBandwidthRateLimitOutcomeCallable; typedef std::future UpdateBandwidthRateLimitScheduleOutcomeCallable; typedef std::future UpdateChapCredentialsOutcomeCallable; typedef std::future UpdateFileSystemAssociationOutcomeCallable; typedef std::future UpdateGatewayInformationOutcomeCallable; typedef std::future UpdateGatewaySoftwareNowOutcomeCallable; typedef std::future UpdateMaintenanceStartTimeOutcomeCallable; typedef std::future UpdateNFSFileShareOutcomeCallable; typedef std::future UpdateSMBFileShareOutcomeCallable; typedef std::future UpdateSMBFileShareVisibilityOutcomeCallable; typedef std::future UpdateSMBLocalGroupsOutcomeCallable; typedef std::future UpdateSMBSecurityStrategyOutcomeCallable; typedef std::future UpdateSnapshotScheduleOutcomeCallable; typedef std::future UpdateVTLDeviceTypeOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model class StorageGatewayClient; /* Service model async handlers definitions */ typedef std::function&) > ActivateGatewayResponseReceivedHandler; typedef std::function&) > AddCacheResponseReceivedHandler; typedef std::function&) > AddTagsToResourceResponseReceivedHandler; typedef std::function&) > AddUploadBufferResponseReceivedHandler; typedef std::function&) > AddWorkingStorageResponseReceivedHandler; typedef std::function&) > AssignTapePoolResponseReceivedHandler; typedef std::function&) > AssociateFileSystemResponseReceivedHandler; typedef std::function&) > AttachVolumeResponseReceivedHandler; typedef std::function&) > CancelArchivalResponseReceivedHandler; typedef std::function&) > CancelRetrievalResponseReceivedHandler; typedef std::function&) > CreateCachediSCSIVolumeResponseReceivedHandler; typedef std::function&) > CreateNFSFileShareResponseReceivedHandler; typedef std::function&) > CreateSMBFileShareResponseReceivedHandler; typedef std::function&) > CreateSnapshotResponseReceivedHandler; typedef std::function&) > CreateSnapshotFromVolumeRecoveryPointResponseReceivedHandler; typedef std::function&) > CreateStorediSCSIVolumeResponseReceivedHandler; typedef std::function&) > CreateTapePoolResponseReceivedHandler; typedef std::function&) > CreateTapeWithBarcodeResponseReceivedHandler; typedef std::function&) > CreateTapesResponseReceivedHandler; typedef std::function&) > DeleteAutomaticTapeCreationPolicyResponseReceivedHandler; typedef std::function&) > DeleteBandwidthRateLimitResponseReceivedHandler; typedef std::function&) > DeleteChapCredentialsResponseReceivedHandler; typedef std::function&) > DeleteFileShareResponseReceivedHandler; typedef std::function&) > DeleteGatewayResponseReceivedHandler; typedef std::function&) > DeleteSnapshotScheduleResponseReceivedHandler; typedef std::function&) > DeleteTapeResponseReceivedHandler; typedef std::function&) > DeleteTapeArchiveResponseReceivedHandler; typedef std::function&) > DeleteTapePoolResponseReceivedHandler; typedef std::function&) > DeleteVolumeResponseReceivedHandler; typedef std::function&) > DescribeAvailabilityMonitorTestResponseReceivedHandler; typedef std::function&) > DescribeBandwidthRateLimitResponseReceivedHandler; typedef std::function&) > DescribeBandwidthRateLimitScheduleResponseReceivedHandler; typedef std::function&) > DescribeCacheResponseReceivedHandler; typedef std::function&) > DescribeCachediSCSIVolumesResponseReceivedHandler; typedef std::function&) > DescribeChapCredentialsResponseReceivedHandler; typedef std::function&) > DescribeFileSystemAssociationsResponseReceivedHandler; typedef std::function&) > DescribeGatewayInformationResponseReceivedHandler; typedef std::function&) > DescribeMaintenanceStartTimeResponseReceivedHandler; typedef std::function&) > DescribeNFSFileSharesResponseReceivedHandler; typedef std::function&) > DescribeSMBFileSharesResponseReceivedHandler; typedef std::function&) > DescribeSMBSettingsResponseReceivedHandler; typedef std::function&) > DescribeSnapshotScheduleResponseReceivedHandler; typedef std::function&) > DescribeStorediSCSIVolumesResponseReceivedHandler; typedef std::function&) > DescribeTapeArchivesResponseReceivedHandler; typedef std::function&) > DescribeTapeRecoveryPointsResponseReceivedHandler; typedef std::function&) > DescribeTapesResponseReceivedHandler; typedef std::function&) > DescribeUploadBufferResponseReceivedHandler; typedef std::function&) > DescribeVTLDevicesResponseReceivedHandler; typedef std::function&) > DescribeWorkingStorageResponseReceivedHandler; typedef std::function&) > DetachVolumeResponseReceivedHandler; typedef std::function&) > DisableGatewayResponseReceivedHandler; typedef std::function&) > DisassociateFileSystemResponseReceivedHandler; typedef std::function&) > JoinDomainResponseReceivedHandler; typedef std::function&) > ListAutomaticTapeCreationPoliciesResponseReceivedHandler; typedef std::function&) > ListFileSharesResponseReceivedHandler; typedef std::function&) > ListFileSystemAssociationsResponseReceivedHandler; typedef std::function&) > ListGatewaysResponseReceivedHandler; typedef std::function&) > ListLocalDisksResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListTapePoolsResponseReceivedHandler; typedef std::function&) > ListTapesResponseReceivedHandler; typedef std::function&) > ListVolumeInitiatorsResponseReceivedHandler; typedef std::function&) > ListVolumeRecoveryPointsResponseReceivedHandler; typedef std::function&) > ListVolumesResponseReceivedHandler; typedef std::function&) > NotifyWhenUploadedResponseReceivedHandler; typedef std::function&) > RefreshCacheResponseReceivedHandler; typedef std::function&) > RemoveTagsFromResourceResponseReceivedHandler; typedef std::function&) > ResetCacheResponseReceivedHandler; typedef std::function&) > RetrieveTapeArchiveResponseReceivedHandler; typedef std::function&) > RetrieveTapeRecoveryPointResponseReceivedHandler; typedef std::function&) > SetLocalConsolePasswordResponseReceivedHandler; typedef std::function&) > SetSMBGuestPasswordResponseReceivedHandler; typedef std::function&) > ShutdownGatewayResponseReceivedHandler; typedef std::function&) > StartAvailabilityMonitorTestResponseReceivedHandler; typedef std::function&) > StartGatewayResponseReceivedHandler; typedef std::function&) > UpdateAutomaticTapeCreationPolicyResponseReceivedHandler; typedef std::function&) > UpdateBandwidthRateLimitResponseReceivedHandler; typedef std::function&) > UpdateBandwidthRateLimitScheduleResponseReceivedHandler; typedef std::function&) > UpdateChapCredentialsResponseReceivedHandler; typedef std::function&) > UpdateFileSystemAssociationResponseReceivedHandler; typedef std::function&) > UpdateGatewayInformationResponseReceivedHandler; typedef std::function&) > UpdateGatewaySoftwareNowResponseReceivedHandler; typedef std::function&) > UpdateMaintenanceStartTimeResponseReceivedHandler; typedef std::function&) > UpdateNFSFileShareResponseReceivedHandler; typedef std::function&) > UpdateSMBFileShareResponseReceivedHandler; typedef std::function&) > UpdateSMBFileShareVisibilityResponseReceivedHandler; typedef std::function&) > UpdateSMBLocalGroupsResponseReceivedHandler; typedef std::function&) > UpdateSMBSecurityStrategyResponseReceivedHandler; typedef std::function&) > UpdateSnapshotScheduleResponseReceivedHandler; typedef std::function&) > UpdateVTLDeviceTypeResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace StorageGateway } // namespace Aws