<?php
namespace Aws\DatabaseMigrationService;

use Aws\AwsClient;

/**
 * This client is used to interact with the **AWS Database Migration Service** service.
 * @method \Aws\Result addTagsToResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = [])
 * @method \Aws\Result applyPendingMaintenanceAction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise applyPendingMaintenanceActionAsync(array $args = [])
 * @method \Aws\Result batchStartRecommendations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchStartRecommendationsAsync(array $args = [])
 * @method \Aws\Result cancelReplicationTaskAssessmentRun(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelReplicationTaskAssessmentRunAsync(array $args = [])
 * @method \Aws\Result createEndpoint(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createEndpointAsync(array $args = [])
 * @method \Aws\Result createEventSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createEventSubscriptionAsync(array $args = [])
 * @method \Aws\Result createFleetAdvisorCollector(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createFleetAdvisorCollectorAsync(array $args = [])
 * @method \Aws\Result createReplicationInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createReplicationInstanceAsync(array $args = [])
 * @method \Aws\Result createReplicationSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createReplicationSubnetGroupAsync(array $args = [])
 * @method \Aws\Result createReplicationTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createReplicationTaskAsync(array $args = [])
 * @method \Aws\Result deleteCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = [])
 * @method \Aws\Result deleteConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteConnectionAsync(array $args = [])
 * @method \Aws\Result deleteEndpoint(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteEndpointAsync(array $args = [])
 * @method \Aws\Result deleteEventSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteEventSubscriptionAsync(array $args = [])
 * @method \Aws\Result deleteFleetAdvisorCollector(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteFleetAdvisorCollectorAsync(array $args = [])
 * @method \Aws\Result deleteFleetAdvisorDatabases(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteFleetAdvisorDatabasesAsync(array $args = [])
 * @method \Aws\Result deleteReplicationInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteReplicationInstanceAsync(array $args = [])
 * @method \Aws\Result deleteReplicationSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteReplicationSubnetGroupAsync(array $args = [])
 * @method \Aws\Result deleteReplicationTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteReplicationTaskAsync(array $args = [])
 * @method \Aws\Result deleteReplicationTaskAssessmentRun(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteReplicationTaskAssessmentRunAsync(array $args = [])
 * @method \Aws\Result describeAccountAttributes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAccountAttributesAsync(array $args = [])
 * @method \Aws\Result describeApplicableIndividualAssessments(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeApplicableIndividualAssessmentsAsync(array $args = [])
 * @method \Aws\Result describeCertificates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCertificatesAsync(array $args = [])
 * @method \Aws\Result describeConnections(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeConnectionsAsync(array $args = [])
 * @method \Aws\Result describeEndpointSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEndpointSettingsAsync(array $args = [])
 * @method \Aws\Result describeEndpointTypes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEndpointTypesAsync(array $args = [])
 * @method \Aws\Result describeEndpoints(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEndpointsAsync(array $args = [])
 * @method \Aws\Result describeEventCategories(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventCategoriesAsync(array $args = [])
 * @method \Aws\Result describeEventSubscriptions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventSubscriptionsAsync(array $args = [])
 * @method \Aws\Result describeEvents(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = [])
 * @method \Aws\Result describeFleetAdvisorCollectors(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFleetAdvisorCollectorsAsync(array $args = [])
 * @method \Aws\Result describeFleetAdvisorDatabases(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFleetAdvisorDatabasesAsync(array $args = [])
 * @method \Aws\Result describeFleetAdvisorLsaAnalysis(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFleetAdvisorLsaAnalysisAsync(array $args = [])
 * @method \Aws\Result describeFleetAdvisorSchemaObjectSummary(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFleetAdvisorSchemaObjectSummaryAsync(array $args = [])
 * @method \Aws\Result describeFleetAdvisorSchemas(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFleetAdvisorSchemasAsync(array $args = [])
 * @method \Aws\Result describeOrderableReplicationInstances(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOrderableReplicationInstancesAsync(array $args = [])
 * @method \Aws\Result describePendingMaintenanceActions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describePendingMaintenanceActionsAsync(array $args = [])
 * @method \Aws\Result describeRecommendationLimitations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeRecommendationLimitationsAsync(array $args = [])
 * @method \Aws\Result describeRecommendations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeRecommendationsAsync(array $args = [])
 * @method \Aws\Result describeRefreshSchemasStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeRefreshSchemasStatusAsync(array $args = [])
 * @method \Aws\Result describeReplicationInstanceTaskLogs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReplicationInstanceTaskLogsAsync(array $args = [])
 * @method \Aws\Result describeReplicationInstances(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReplicationInstancesAsync(array $args = [])
 * @method \Aws\Result describeReplicationSubnetGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReplicationSubnetGroupsAsync(array $args = [])
 * @method \Aws\Result describeReplicationTaskAssessmentResults(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReplicationTaskAssessmentResultsAsync(array $args = [])
 * @method \Aws\Result describeReplicationTaskAssessmentRuns(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReplicationTaskAssessmentRunsAsync(array $args = [])
 * @method \Aws\Result describeReplicationTaskIndividualAssessments(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReplicationTaskIndividualAssessmentsAsync(array $args = [])
 * @method \Aws\Result describeReplicationTasks(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReplicationTasksAsync(array $args = [])
 * @method \Aws\Result describeSchemas(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeSchemasAsync(array $args = [])
 * @method \Aws\Result describeTableStatistics(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTableStatisticsAsync(array $args = [])
 * @method \Aws\Result importCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise importCertificateAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result modifyEndpoint(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyEndpointAsync(array $args = [])
 * @method \Aws\Result modifyEventSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyEventSubscriptionAsync(array $args = [])
 * @method \Aws\Result modifyReplicationInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyReplicationInstanceAsync(array $args = [])
 * @method \Aws\Result modifyReplicationSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyReplicationSubnetGroupAsync(array $args = [])
 * @method \Aws\Result modifyReplicationTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyReplicationTaskAsync(array $args = [])
 * @method \Aws\Result moveReplicationTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise moveReplicationTaskAsync(array $args = [])
 * @method \Aws\Result rebootReplicationInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rebootReplicationInstanceAsync(array $args = [])
 * @method \Aws\Result refreshSchemas(array $args = [])
 * @method \GuzzleHttp\Promise\Promise refreshSchemasAsync(array $args = [])
 * @method \Aws\Result reloadTables(array $args = [])
 * @method \GuzzleHttp\Promise\Promise reloadTablesAsync(array $args = [])
 * @method \Aws\Result removeTagsFromResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = [])
 * @method \Aws\Result runFleetAdvisorLsaAnalysis(array $args = [])
 * @method \GuzzleHttp\Promise\Promise runFleetAdvisorLsaAnalysisAsync(array $args = [])
 * @method \Aws\Result startRecommendations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startRecommendationsAsync(array $args = [])
 * @method \Aws\Result startReplicationTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startReplicationTaskAsync(array $args = [])
 * @method \Aws\Result startReplicationTaskAssessment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startReplicationTaskAssessmentAsync(array $args = [])
 * @method \Aws\Result startReplicationTaskAssessmentRun(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startReplicationTaskAssessmentRunAsync(array $args = [])
 * @method \Aws\Result stopReplicationTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopReplicationTaskAsync(array $args = [])
 * @method \Aws\Result testConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise testConnectionAsync(array $args = [])
 * @method \Aws\Result updateSubscriptionsToEventBridge(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateSubscriptionsToEventBridgeAsync(array $args = [])
 */
class DatabaseMigrationServiceClient extends AwsClient {}


<?php
namespace Aws\DatabaseMigrationService\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **AWS Database Migration Service** service.
 */
class DatabaseMigrationServiceException extends AwsException {}


<?php
namespace Aws\DataExchange;

use Aws\AwsClient;

/**
 * This client is used to interact with the **AWS Data Exchange** service.
 * @method \Aws\Result cancelJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelJobAsync(array $args = [])
 * @method \Aws\Result createDataSet(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDataSetAsync(array $args = [])
 * @method \Aws\Result createEventAction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createEventActionAsync(array $args = [])
 * @method \Aws\Result createJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createJobAsync(array $args = [])
 * @method \Aws\Result createRevision(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createRevisionAsync(array $args = [])
 * @method \Aws\Result deleteAsset(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteAssetAsync(array $args = [])
 * @method \Aws\Result deleteDataSet(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDataSetAsync(array $args = [])
 * @method \Aws\Result deleteEventAction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteEventActionAsync(array $args = [])
 * @method \Aws\Result deleteRevision(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteRevisionAsync(array $args = [])
 * @method \Aws\Result getAsset(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAssetAsync(array $args = [])
 * @method \Aws\Result getDataSet(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDataSetAsync(array $args = [])
 * @method \Aws\Result getEventAction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getEventActionAsync(array $args = [])
 * @method \Aws\Result getJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = [])
 * @method \Aws\Result getRevision(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getRevisionAsync(array $args = [])
 * @method \Aws\Result listDataSetRevisions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDataSetRevisionsAsync(array $args = [])
 * @method \Aws\Result listDataSets(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDataSetsAsync(array $args = [])
 * @method \Aws\Result listEventActions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listEventActionsAsync(array $args = [])
 * @method \Aws\Result listJobs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = [])
 * @method \Aws\Result listRevisionAssets(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRevisionAssetsAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result revokeRevision(array $args = [])
 * @method \GuzzleHttp\Promise\Promise revokeRevisionAsync(array $args = [])
 * @method \Aws\Result sendApiAsset(array $args = [])
 * @method \GuzzleHttp\Promise\Promise sendApiAssetAsync(array $args = [])
 * @method \Aws\Result startJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startJobAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateAsset(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateAssetAsync(array $args = [])
 * @method \Aws\Result updateDataSet(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDataSetAsync(array $args = [])
 * @method \Aws\Result updateEventAction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateEventActionAsync(array $args = [])
 * @method \Aws\Result updateRevision(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateRevisionAsync(array $args = [])
 */
class DataExchangeClient extends AwsClient {}


<?php
namespace Aws\DataExchange\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **AWS Data Exchange** service.
 */
class DataExchangeException extends AwsException {}


<?php
namespace Aws\DataPipeline;

use Aws\AwsClient;

/**
 * This client is used to interact with the **AWS Data Pipeline** service.
 *
 * @method \Aws\Result activatePipeline(array $args = [])
 * @method \GuzzleHttp\Promise\Promise activatePipelineAsync(array $args = [])
 * @method \Aws\Result addTags(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = [])
 * @method \Aws\Result createPipeline(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createPipelineAsync(array $args = [])
 * @method \Aws\Result deactivatePipeline(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deactivatePipelineAsync(array $args = [])
 * @method \Aws\Result deletePipeline(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deletePipelineAsync(array $args = [])
 * @method \Aws\Result describeObjects(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeObjectsAsync(array $args = [])
 * @method \Aws\Result describePipelines(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describePipelinesAsync(array $args = [])
 * @method \Aws\Result evaluateExpression(array $args = [])
 * @method \GuzzleHttp\Promise\Promise evaluateExpressionAsync(array $args = [])
 * @method \Aws\Result getPipelineDefinition(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getPipelineDefinitionAsync(array $args = [])
 * @method \Aws\Result listPipelines(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listPipelinesAsync(array $args = [])
 * @method \Aws\Result pollForTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise pollForTaskAsync(array $args = [])
 * @method \Aws\Result putPipelineDefinition(array $args = [])
 * @method \GuzzleHttp\Promise\Promise putPipelineDefinitionAsync(array $args = [])
 * @method \Aws\Result queryObjects(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryObjectsAsync(array $args = [])
 * @method \Aws\Result removeTags(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeTagsAsync(array $args = [])
 * @method \Aws\Result reportTaskProgress(array $args = [])
 * @method \GuzzleHttp\Promise\Promise reportTaskProgressAsync(array $args = [])
 * @method \Aws\Result reportTaskRunnerHeartbeat(array $args = [])
 * @method \GuzzleHttp\Promise\Promise reportTaskRunnerHeartbeatAsync(array $args = [])
 * @method \Aws\Result setStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setStatusAsync(array $args = [])
 * @method \Aws\Result setTaskStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setTaskStatusAsync(array $args = [])
 * @method \Aws\Result validatePipelineDefinition(array $args = [])
 * @method \GuzzleHttp\Promise\Promise validatePipelineDefinitionAsync(array $args = [])
 */
class DataPipelineClient extends AwsClient {}


<?php
namespace Aws\DataPipeline\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the AWS Data Pipeline service.
 */
class DataPipelineException extends AwsException {}


<?php
namespace Aws\DataSync;

use Aws\AwsClient;

/**
 * This client is used to interact with the **AWS DataSync** service.
 * @method \Aws\Result addStorageSystem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addStorageSystemAsync(array $args = [])
 * @method \Aws\Result cancelTaskExecution(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelTaskExecutionAsync(array $args = [])
 * @method \Aws\Result createAgent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createAgentAsync(array $args = [])
 * @method \Aws\Result createLocationEfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationEfsAsync(array $args = [])
 * @method \Aws\Result createLocationFsxLustre(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationFsxLustreAsync(array $args = [])
 * @method \Aws\Result createLocationFsxOntap(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationFsxOntapAsync(array $args = [])
 * @method \Aws\Result createLocationFsxOpenZfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationFsxOpenZfsAsync(array $args = [])
 * @method \Aws\Result createLocationFsxWindows(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationFsxWindowsAsync(array $args = [])
 * @method \Aws\Result createLocationHdfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationHdfsAsync(array $args = [])
 * @method \Aws\Result createLocationNfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationNfsAsync(array $args = [])
 * @method \Aws\Result createLocationObjectStorage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationObjectStorageAsync(array $args = [])
 * @method \Aws\Result createLocationS3(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationS3Async(array $args = [])
 * @method \Aws\Result createLocationSmb(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLocationSmbAsync(array $args = [])
 * @method \Aws\Result createTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTaskAsync(array $args = [])
 * @method \Aws\Result deleteAgent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteAgentAsync(array $args = [])
 * @method \Aws\Result deleteLocation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLocationAsync(array $args = [])
 * @method \Aws\Result deleteTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTaskAsync(array $args = [])
 * @method \Aws\Result describeAgent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAgentAsync(array $args = [])
 * @method \Aws\Result describeDiscoveryJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDiscoveryJobAsync(array $args = [])
 * @method \Aws\Result describeLocationEfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationEfsAsync(array $args = [])
 * @method \Aws\Result describeLocationFsxLustre(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationFsxLustreAsync(array $args = [])
 * @method \Aws\Result describeLocationFsxOntap(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationFsxOntapAsync(array $args = [])
 * @method \Aws\Result describeLocationFsxOpenZfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationFsxOpenZfsAsync(array $args = [])
 * @method \Aws\Result describeLocationFsxWindows(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationFsxWindowsAsync(array $args = [])
 * @method \Aws\Result describeLocationHdfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationHdfsAsync(array $args = [])
 * @method \Aws\Result describeLocationNfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationNfsAsync(array $args = [])
 * @method \Aws\Result describeLocationObjectStorage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationObjectStorageAsync(array $args = [])
 * @method \Aws\Result describeLocationS3(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationS3Async(array $args = [])
 * @method \Aws\Result describeLocationSmb(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationSmbAsync(array $args = [])
 * @method \Aws\Result describeStorageSystem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeStorageSystemAsync(array $args = [])
 * @method \Aws\Result describeStorageSystemResourceMetrics(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeStorageSystemResourceMetricsAsync(array $args = [])
 * @method \Aws\Result describeStorageSystemResources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeStorageSystemResourcesAsync(array $args = [])
 * @method \Aws\Result describeTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTaskAsync(array $args = [])
 * @method \Aws\Result describeTaskExecution(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTaskExecutionAsync(array $args = [])
 * @method \Aws\Result generateRecommendations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise generateRecommendationsAsync(array $args = [])
 * @method \Aws\Result listAgents(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAgentsAsync(array $args = [])
 * @method \Aws\Result listDiscoveryJobs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDiscoveryJobsAsync(array $args = [])
 * @method \Aws\Result listLocations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listLocationsAsync(array $args = [])
 * @method \Aws\Result listStorageSystems(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listStorageSystemsAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result listTaskExecutions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTaskExecutionsAsync(array $args = [])
 * @method \Aws\Result listTasks(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTasksAsync(array $args = [])
 * @method \Aws\Result removeStorageSystem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeStorageSystemAsync(array $args = [])
 * @method \Aws\Result startDiscoveryJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startDiscoveryJobAsync(array $args = [])
 * @method \Aws\Result startTaskExecution(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startTaskExecutionAsync(array $args = [])
 * @method \Aws\Result stopDiscoveryJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopDiscoveryJobAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateAgent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateAgentAsync(array $args = [])
 * @method \Aws\Result updateDiscoveryJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDiscoveryJobAsync(array $args = [])
 * @method \Aws\Result updateLocationHdfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLocationHdfsAsync(array $args = [])
 * @method \Aws\Result updateLocationNfs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLocationNfsAsync(array $args = [])
 * @method \Aws\Result updateLocationObjectStorage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLocationObjectStorageAsync(array $args = [])
 * @method \Aws\Result updateLocationSmb(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLocationSmbAsync(array $args = [])
 * @method \Aws\Result updateStorageSystem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateStorageSystemAsync(array $args = [])
 * @method \Aws\Result updateTask(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTaskAsync(array $args = [])
 * @method \Aws\Result updateTaskExecution(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTaskExecutionAsync(array $args = [])
 */
class DataSyncClient extends AwsClient {}


<?php
namespace Aws\DataSync\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **AWS DataSync** service.
 */
class DataSyncException extends AwsException {}


<?php
namespace Aws\DAX;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon DynamoDB Accelerator (DAX)** service.
 * @method \Aws\Result createCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = [])
 * @method \Aws\Result createParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createParameterGroupAsync(array $args = [])
 * @method \Aws\Result createSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createSubnetGroupAsync(array $args = [])
 * @method \Aws\Result decreaseReplicationFactor(array $args = [])
 * @method \GuzzleHttp\Promise\Promise decreaseReplicationFactorAsync(array $args = [])
 * @method \Aws\Result deleteCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = [])
 * @method \Aws\Result deleteParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteParameterGroupAsync(array $args = [])
 * @method \Aws\Result deleteSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteSubnetGroupAsync(array $args = [])
 * @method \Aws\Result describeClusters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeClustersAsync(array $args = [])
 * @method \Aws\Result describeDefaultParameters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDefaultParametersAsync(array $args = [])
 * @method \Aws\Result describeEvents(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = [])
 * @method \Aws\Result describeParameterGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeParameterGroupsAsync(array $args = [])
 * @method \Aws\Result describeParameters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeParametersAsync(array $args = [])
 * @method \Aws\Result describeSubnetGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeSubnetGroupsAsync(array $args = [])
 * @method \Aws\Result increaseReplicationFactor(array $args = [])
 * @method \GuzzleHttp\Promise\Promise increaseReplicationFactorAsync(array $args = [])
 * @method \Aws\Result listTags(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
 * @method \Aws\Result rebootNode(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rebootNodeAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateClusterAsync(array $args = [])
 * @method \Aws\Result updateParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateParameterGroupAsync(array $args = [])
 * @method \Aws\Result updateSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateSubnetGroupAsync(array $args = [])
 */
class DAXClient extends AwsClient {}


<?php
namespace Aws\DAX\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **Amazon DynamoDB Accelerator (DAX)** service.
 */
class DAXException extends AwsException {}


<?php
namespace Aws\DefaultsMode;

use Aws\DefaultsMode\Exception\ConfigurationException;

class Configuration implements ConfigurationInterface
{
    private $mode;
    private $retryMode;
    private $stsRegionalEndpoints;
    private $s3UsEast1RegionalEndpoints;
    private $connectTimeoutInMillis;
    private $httpRequestTimeoutInMillis;
    private $validModes = [
        'legacy',
        'standard',
        'cross-region',
        'in-region',
        'mobile',
        'auto',
    ];

    public function __construct($mode = 'legacy')
    {
        $mode = strtolower($mode);
        if (!in_array($mode, $this->validModes)) {
            throw new \InvalidArgumentException("'{$mode}' is not a valid mode."
                . " The mode has to be 'legacy', 'standard', 'cross-region', 'in-region',"
                . " 'mobile', or 'auto'.");
        }

        $this->mode = $mode;
        if ($this->mode == 'legacy') {
            return;
        }

        $data = \Aws\load_compiled_json(
            __DIR__ . '/../data/sdk-default-configuration.json'
        );

        $this->retryMode = $data['base']['retryMode'];
        $this->stsRegionalEndpoints = $data['base']['stsRegionalEndpoints'];
        $this->s3UsEast1RegionalEndpoints = $data['base']['s3UsEast1RegionalEndpoints'];
        $this->connectTimeoutInMillis = $data['base']['connectTimeoutInMillis'];

        if (isset($data['modes'][$mode])) {
            $modeData = $data['modes'][$mode];
            foreach ($modeData as $settingName => $settingValue) {
                if (isset($this->$settingName)) {
                    if (isset($settingValue['override'])) {
                        $this->$settingName = $settingValue['override'];
                    } else if (isset($settingValue['multiply'])) {
                        $this->$settingName *= $settingValue['multiply'];
                    } else if (isset($settingValue['add'])) {
                        $this->$settingName += $settingValue['add'];
                    }
                } else {
                    if (isset($settingValue['override'])) {
                        if (property_exists($this, $settingName)) {
                            $this->$settingName = $settingValue['override'];
                        }
                    }
                }
            }
        }
    }

    /**
     * {@inheritdoc}
     */
    public function getMode()
    {
        return $this->mode;
    }

    /**
     * {@inheritdoc}
     */
    public function getRetryMode()
    {
        return $this->retryMode;
    }

    /**
     * {@inheritdoc}
     */
    public function getStsRegionalEndpoints()
    {
        return $this->stsRegionalEndpoints;
    }

    /**
     * {@inheritdoc}
     */
    public function getS3UsEast1RegionalEndpoints()
    {
        return $this->s3UsEast1RegionalEndpoints;
    }

    /**
     * {@inheritdoc}
     */
    public function getConnectTimeoutInMillis()
    {
        return $this->connectTimeoutInMillis;
    }

    /**
     * {@inheritdoc}
     */
    public function getHttpRequestTimeoutInMillis()
    {
        return $this->httpRequestTimeoutInMillis;
    }

    /**
     * {@inheritdoc}
     */
    public function toArray()
    {
        return [
            'mode'                                       => $this->getMode(),
            'retry_mode'                                 => $this->getRetryMode(),
            'sts_regional_endpoints'                     => $this->getStsRegionalEndpoints(),
            's3_us_east_1_regional_endpoint'             => $this->getS3UsEast1RegionalEndpoints(),
            'connect_timeout_in_milliseconds'            => $this->getConnectTimeoutInMillis(),
            'http_request_timeout_in_milliseconds'       => $this->getHttpRequestTimeoutInMillis(),
        ];
    }

}


<?php
namespace Aws\DefaultsMode;

/**
 * Provides access to defaultsMode configuration
 */
interface ConfigurationInterface
{
    /**
     * Returns the configuration mode. Available modes include 'legacy', 'standard', and
     * 'adapative'.
     *
     * @return string
     */
    public function getMode();

    /**
     * Returns the sts regional endpoints option
     *
     * @return bool
     */
    public function getStsRegionalEndpoints();

    /**
     * Returns the s3 us-east-1 regional endpoints option
     *
     * @return bool
     */
    public function getS3UsEast1RegionalEndpoints();

    /**
     * Returns the connection timeout in milliseconds
     *
     * @return int
     */
    public function getConnectTimeoutInMillis();

    /**
     * Returns the http request timeout in milliseconds
     *
     * @return int
     */
    public function getHttpRequestTimeoutInMillis();

    /**
     * Returns the configuration as an associative array
     *
     * @return array
     */
    public function toArray();
}


<?php
namespace Aws\DefaultsMode;

use Aws\AbstractConfigurationProvider;
use Aws\CacheInterface;
use Aws\ConfigurationProviderInterface;
use Aws\DefaultsMode\Exception\ConfigurationException;
use GuzzleHttp\Promise;
use GuzzleHttp\Promise\PromiseInterface;

/**
 * A configuration provider is a function that returns a promise that is
 * fulfilled with a {@see \Aws\DefaultsMode\ConfigurationInterface}
 * or rejected with an {@see \Aws\DefaultsMode\Exception\ConfigurationException}.
 *
 *
 * use Aws\Sts\RegionalEndpoints\ConfigurationProvider;
 * $provider = ConfigurationProvider::defaultProvider();
 * // Returns a ConfigurationInterface or throws.
 * $config = $provider()->wait();
 *
 *
 * Configuration providers can be composed to create configuration using
 * conditional logic that can create different configurations in different
 * environments. You can compose multiple providers into a single provider using
 * {@see \Aws\DefaultsMode\ConfigurationProvider::chain}. This function
 * accepts providers as variadic arguments and returns a new function that will
 * invoke each provider until a successful configuration is returned.
 *
 *
 * // First try an INI file at this location.
 * $a = ConfigurationProvider::ini(null, '/path/to/file.ini');
 * // Then try an INI file at this location.
 * $b = ConfigurationProvider::ini(null, '/path/to/other-file.ini');
 * // Then try loading from environment variables.
 * $c = ConfigurationProvider::env();
 * // Combine the three providers together.
 * $composed = ConfigurationProvider::chain($a, $b, $c);
 * // Returns a promise that is fulfilled with a configuration or throws.
 * $promise = $composed();
 * // Wait on the configuration to resolve.
 * $config = $promise->wait();
 *
 */
class ConfigurationProvider extends AbstractConfigurationProvider
    implements ConfigurationProviderInterface
{
    const DEFAULT_MODE = 'legacy';
    const ENV_MODE = 'AWS_DEFAULTS_MODE';
    const ENV_PROFILE = 'AWS_PROFILE';
    const INI_MODE = 'defaults_mode';

    public static $cacheKey = 'aws_defaults_mode';

    protected static $interfaceClass = ConfigurationInterface::class;
    protected static $exceptionClass = ConfigurationException::class;

    /**
     * Create a default config provider that first checks for environment
     * variables, then checks for a specified profile in the environment-defined
     * config file location (env variable is 'AWS_CONFIG_FILE', file location
     * defaults to ~/.aws/config), then checks for the "default" profile in the
     * environment-defined config file location, and failing those uses a default
     * fallback set of configuration options.
     *
     * This provider is automatically wrapped in a memoize function that caches
     * previously provided config options.
     *
     * @param array $config
     *
     * @return callable
     */
    public static function defaultProvider(array $config = [])
    {
        $configProviders = [self::env()];
        if (
            !isset($config['use_aws_shared_config_files'])
            || $config['use_aws_shared_config_files'] != false
        ) {
            $configProviders[] = self::ini();
        }
        $configProviders[] = self::fallback();

        $memo = self::memoize(
            call_user_func_array([ConfigurationProvider::class, 'chain'], $configProviders)
        );

        if (isset($config['defaultsMode'])
            && $config['defaultsMode'] instanceof CacheInterface
        ) {
            return self::cache($memo, $config['defaultsMode'], self::$cacheKey);
        }

        return $memo;
    }

    /**
     * Provider that creates config from environment variables.
     *
     * @return callable
     */
    public static function env()
    {
        return function () {
            // Use config from environment variables, if available
            $mode = getenv(self::ENV_MODE);
            if (!empty($mode)) {
                return Promise\Create::promiseFor(
                    new Configuration($mode)
                );
            }

            return self::reject('Could not find environment variable config'
                . ' in ' . self::ENV_MODE);
        };
    }

    /**
     * Fallback config options when other sources are not set.
     *
     * @return callable
     */
    public static function fallback()
    {
        return function () {
            return Promise\Create::promiseFor(
                new Configuration( self::DEFAULT_MODE)
            );
        };
    }

    /**
     * Config provider that creates config using a config file whose location
     * is specified by an environment variable 'AWS_CONFIG_FILE', defaulting to
     * ~/.aws/config if not specified
     *
     * @param string|null $profile  Profile to use. If not specified will use
     *                              the "default" profile.
     * @param string|null $filename If provided, uses a custom filename rather
     *                              than looking in the default directory.
     *
     * @return callable
     */
    public static function ini(
        $profile = null,
        $filename = null
    ) {
        $filename = $filename ?: (self::getDefaultConfigFilename());
        $profile = $profile ?: (getenv(self::ENV_PROFILE) ?: 'default');

        return function () use ($profile, $filename) {
            if (!is_readable($filename)) {
                return self::reject("Cannot read configuration from $filename");
            }
            $data = \Aws\parse_ini_file($filename, true);
            if ($data === false) {
                return self::reject("Invalid config file: $filename");
            }
            if (!isset($data[$profile])) {
                return self::reject("'$profile' not found in config file");
            }
            if (!isset($data[$profile][self::INI_MODE])) {
                return self::reject("Required defaults mode config values
                    not present in INI profile '{$profile}' ({$filename})");
            }
            return Promise\Create::promiseFor(
                new Configuration(
                    $data[$profile][self::INI_MODE]
                )
            );
        };
    }

    /**
     * Unwraps a configuration object in whatever valid form it is in,
     * always returning a ConfigurationInterface object.
     *
     * @param  mixed $config
     * @return ConfigurationInterface
     * @throws \InvalidArgumentException
     */
    public static function unwrap($config)
    {
        if (is_callable($config)) {
            $config = $config();
        }
        if ($config instanceof PromiseInterface) {
            $config = $config->wait();
        }
        if ($config instanceof ConfigurationInterface) {
            return $config;
        }

        if (is_string($config)) {
            return new Configuration($config);
        }

        throw new \InvalidArgumentException('Not a valid defaults mode configuration'
            . ' argument.');
    }
}


<?php
namespace Aws\DefaultsMode\Exception;

use Aws\HasMonitoringEventsTrait;
use Aws\MonitoringEventsInterface;

/**
 * Represents an error interacting with configuration mode
 */
class ConfigurationException extends \RuntimeException implements
    MonitoringEventsInterface
{
    use HasMonitoringEventsTrait;
}


<?php
namespace Aws\Detective;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon Detective** service.
 * @method \Aws\Result acceptInvitation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise acceptInvitationAsync(array $args = [])
 * @method \Aws\Result batchGetGraphMemberDatasources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchGetGraphMemberDatasourcesAsync(array $args = [])
 * @method \Aws\Result batchGetMembershipDatasources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchGetMembershipDatasourcesAsync(array $args = [])
 * @method \Aws\Result createGraph(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createGraphAsync(array $args = [])
 * @method \Aws\Result createMembers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createMembersAsync(array $args = [])
 * @method \Aws\Result deleteGraph(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteGraphAsync(array $args = [])
 * @method \Aws\Result deleteMembers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteMembersAsync(array $args = [])
 * @method \Aws\Result describeOrganizationConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOrganizationConfigurationAsync(array $args = [])
 * @method \Aws\Result disableOrganizationAdminAccount(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disableOrganizationAdminAccountAsync(array $args = [])
 * @method \Aws\Result disassociateMembership(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disassociateMembershipAsync(array $args = [])
 * @method \Aws\Result enableOrganizationAdminAccount(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableOrganizationAdminAccountAsync(array $args = [])
 * @method \Aws\Result getMembers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getMembersAsync(array $args = [])
 * @method \Aws\Result listDatasourcePackages(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDatasourcePackagesAsync(array $args = [])
 * @method \Aws\Result listGraphs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listGraphsAsync(array $args = [])
 * @method \Aws\Result listInvitations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listInvitationsAsync(array $args = [])
 * @method \Aws\Result listMembers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listMembersAsync(array $args = [])
 * @method \Aws\Result listOrganizationAdminAccounts(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listOrganizationAdminAccountsAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result rejectInvitation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rejectInvitationAsync(array $args = [])
 * @method \Aws\Result startMonitoringMember(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startMonitoringMemberAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateDatasourcePackages(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDatasourcePackagesAsync(array $args = [])
 * @method \Aws\Result updateOrganizationConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateOrganizationConfigurationAsync(array $args = [])
 */
class DetectiveClient extends AwsClient {}


<?php
namespace Aws\Detective\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **Amazon Detective** service.
 */
class DetectiveException extends AwsException {}


<?php
namespace Aws\DeviceFarm;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon DeviceFarm** service.
 *
 * @method \Aws\Result createDevicePool(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDevicePoolAsync(array $args = [])
 * @method \Aws\Result createInstanceProfile(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createInstanceProfileAsync(array $args = [])
 * @method \Aws\Result createNetworkProfile(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createNetworkProfileAsync(array $args = [])
 * @method \Aws\Result createProject(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = [])
 * @method \Aws\Result createRemoteAccessSession(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createRemoteAccessSessionAsync(array $args = [])
 * @method \Aws\Result createTestGridProject(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTestGridProjectAsync(array $args = [])
 * @method \Aws\Result createTestGridUrl(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTestGridUrlAsync(array $args = [])
 * @method \Aws\Result createUpload(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createUploadAsync(array $args = [])
 * @method \Aws\Result createVPCEConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createVPCEConfigurationAsync(array $args = [])
 * @method \Aws\Result deleteDevicePool(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDevicePoolAsync(array $args = [])
 * @method \Aws\Result deleteInstanceProfile(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteInstanceProfileAsync(array $args = [])
 * @method \Aws\Result deleteNetworkProfile(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteNetworkProfileAsync(array $args = [])
 * @method \Aws\Result deleteProject(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = [])
 * @method \Aws\Result deleteRemoteAccessSession(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteRemoteAccessSessionAsync(array $args = [])
 * @method \Aws\Result deleteRun(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteRunAsync(array $args = [])
 * @method \Aws\Result deleteTestGridProject(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTestGridProjectAsync(array $args = [])
 * @method \Aws\Result deleteUpload(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteUploadAsync(array $args = [])
 * @method \Aws\Result deleteVPCEConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteVPCEConfigurationAsync(array $args = [])
 * @method \Aws\Result getAccountSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAccountSettingsAsync(array $args = [])
 * @method \Aws\Result getDevice(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = [])
 * @method \Aws\Result getDeviceInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDeviceInstanceAsync(array $args = [])
 * @method \Aws\Result getDevicePool(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDevicePoolAsync(array $args = [])
 * @method \Aws\Result getDevicePoolCompatibility(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDevicePoolCompatibilityAsync(array $args = [])
 * @method \Aws\Result getInstanceProfile(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getInstanceProfileAsync(array $args = [])
 * @method \Aws\Result getJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = [])
 * @method \Aws\Result getNetworkProfile(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getNetworkProfileAsync(array $args = [])
 * @method \Aws\Result getOfferingStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getOfferingStatusAsync(array $args = [])
 * @method \Aws\Result getProject(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getProjectAsync(array $args = [])
 * @method \Aws\Result getRemoteAccessSession(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getRemoteAccessSessionAsync(array $args = [])
 * @method \Aws\Result getRun(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getRunAsync(array $args = [])
 * @method \Aws\Result getSuite(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getSuiteAsync(array $args = [])
 * @method \Aws\Result getTest(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getTestAsync(array $args = [])
 * @method \Aws\Result getTestGridProject(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getTestGridProjectAsync(array $args = [])
 * @method \Aws\Result getTestGridSession(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getTestGridSessionAsync(array $args = [])
 * @method \Aws\Result getUpload(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getUploadAsync(array $args = [])
 * @method \Aws\Result getVPCEConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getVPCEConfigurationAsync(array $args = [])
 * @method \Aws\Result installToRemoteAccessSession(array $args = [])
 * @method \GuzzleHttp\Promise\Promise installToRemoteAccessSessionAsync(array $args = [])
 * @method \Aws\Result listArtifacts(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listArtifactsAsync(array $args = [])
 * @method \Aws\Result listDeviceInstances(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDeviceInstancesAsync(array $args = [])
 * @method \Aws\Result listDevicePools(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDevicePoolsAsync(array $args = [])
 * @method \Aws\Result listDevices(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDevicesAsync(array $args = [])
 * @method \Aws\Result listInstanceProfiles(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listInstanceProfilesAsync(array $args = [])
 * @method \Aws\Result listJobs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = [])
 * @method \Aws\Result listNetworkProfiles(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listNetworkProfilesAsync(array $args = [])
 * @method \Aws\Result listOfferingPromotions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listOfferingPromotionsAsync(array $args = [])
 * @method \Aws\Result listOfferingTransactions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listOfferingTransactionsAsync(array $args = [])
 * @method \Aws\Result listOfferings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listOfferingsAsync(array $args = [])
 * @method \Aws\Result listProjects(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = [])
 * @method \Aws\Result listRemoteAccessSessions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRemoteAccessSessionsAsync(array $args = [])
 * @method \Aws\Result listRuns(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRunsAsync(array $args = [])
 * @method \Aws\Result listSamples(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listSamplesAsync(array $args = [])
 * @method \Aws\Result listSuites(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listSuitesAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result listTestGridProjects(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTestGridProjectsAsync(array $args = [])
 * @method \Aws\Result listTestGridSessionActions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTestGridSessionActionsAsync(array $args = [])
 * @method \Aws\Result listTestGridSessionArtifacts(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTestGridSessionArtifactsAsync(array $args = [])
 * @method \Aws\Result listTestGridSessions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTestGridSessionsAsync(array $args = [])
 * @method \Aws\Result listTests(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTestsAsync(array $args = [])
 * @method \Aws\Result listUniqueProblems(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listUniqueProblemsAsync(array $args = [])
 * @method \Aws\Result listUploads(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listUploadsAsync(array $args = [])
 * @method \Aws\Result listVPCEConfigurations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listVPCEConfigurationsAsync(array $args = [])
 * @method \Aws\Result purchaseOffering(array $args = [])
 * @method \GuzzleHttp\Promise\Promise purchaseOfferingAsync(array $args = [])
 * @method \Aws\Result renewOffering(array $args = [])
 * @method \GuzzleHttp\Promise\Promise renewOfferingAsync(array $args = [])
 * @method \Aws\Result scheduleRun(array $args = [])
 * @method \GuzzleHttp\Promise\Promise scheduleRunAsync(array $args = [])
 * @method \Aws\Result stopJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopJobAsync(array $args = [])
 * @method \Aws\Result stopRemoteAccessSession(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopRemoteAccessSessionAsync(array $args = [])
 * @method \Aws\Result stopRun(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopRunAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateDeviceInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDeviceInstanceAsync(array $args = [])
 * @method \Aws\Result updateDevicePool(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDevicePoolAsync(array $args = [])
 * @method \Aws\Result updateInstanceProfile(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateInstanceProfileAsync(array $args = [])
 * @method \Aws\Result updateNetworkProfile(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateNetworkProfileAsync(array $args = [])
 * @method \Aws\Result updateProject(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = [])
 * @method \Aws\Result updateTestGridProject(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTestGridProjectAsync(array $args = [])
 * @method \Aws\Result updateUpload(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateUploadAsync(array $args = [])
 * @method \Aws\Result updateVPCEConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateVPCEConfigurationAsync(array $args = [])
 */
class DeviceFarmClient extends AwsClient {}


<?php
namespace Aws\DeviceFarm\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the Amazon DeviceFarm service.
 */
class DeviceFarmException extends AwsException {}


<?php
namespace Aws\DevOpsGuru;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon DevOps Guru** service.
 * @method \Aws\Result addNotificationChannel(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addNotificationChannelAsync(array $args = [])
 * @method \Aws\Result deleteInsight(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteInsightAsync(array $args = [])
 * @method \Aws\Result describeAccountHealth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAccountHealthAsync(array $args = [])
 * @method \Aws\Result describeAccountOverview(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAccountOverviewAsync(array $args = [])
 * @method \Aws\Result describeAnomaly(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAnomalyAsync(array $args = [])
 * @method \Aws\Result describeEventSourcesConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventSourcesConfigAsync(array $args = [])
 * @method \Aws\Result describeFeedback(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFeedbackAsync(array $args = [])
 * @method \Aws\Result describeInsight(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeInsightAsync(array $args = [])
 * @method \Aws\Result describeOrganizationHealth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOrganizationHealthAsync(array $args = [])
 * @method \Aws\Result describeOrganizationOverview(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOrganizationOverviewAsync(array $args = [])
 * @method \Aws\Result describeOrganizationResourceCollectionHealth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOrganizationResourceCollectionHealthAsync(array $args = [])
 * @method \Aws\Result describeResourceCollectionHealth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeResourceCollectionHealthAsync(array $args = [])
 * @method \Aws\Result describeServiceIntegration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeServiceIntegrationAsync(array $args = [])
 * @method \Aws\Result getCostEstimation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getCostEstimationAsync(array $args = [])
 * @method \Aws\Result getResourceCollection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getResourceCollectionAsync(array $args = [])
 * @method \Aws\Result listAnomaliesForInsight(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAnomaliesForInsightAsync(array $args = [])
 * @method \Aws\Result listAnomalousLogGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAnomalousLogGroupsAsync(array $args = [])
 * @method \Aws\Result listEvents(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listEventsAsync(array $args = [])
 * @method \Aws\Result listInsights(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listInsightsAsync(array $args = [])
 * @method \Aws\Result listMonitoredResources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listMonitoredResourcesAsync(array $args = [])
 * @method \Aws\Result listNotificationChannels(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listNotificationChannelsAsync(array $args = [])
 * @method \Aws\Result listOrganizationInsights(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listOrganizationInsightsAsync(array $args = [])
 * @method \Aws\Result listRecommendations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRecommendationsAsync(array $args = [])
 * @method \Aws\Result putFeedback(array $args = [])
 * @method \GuzzleHttp\Promise\Promise putFeedbackAsync(array $args = [])
 * @method \Aws\Result removeNotificationChannel(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeNotificationChannelAsync(array $args = [])
 * @method \Aws\Result searchInsights(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchInsightsAsync(array $args = [])
 * @method \Aws\Result searchOrganizationInsights(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchOrganizationInsightsAsync(array $args = [])
 * @method \Aws\Result startCostEstimation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startCostEstimationAsync(array $args = [])
 * @method \Aws\Result updateEventSourcesConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateEventSourcesConfigAsync(array $args = [])
 * @method \Aws\Result updateResourceCollection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateResourceCollectionAsync(array $args = [])
 * @method \Aws\Result updateServiceIntegration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateServiceIntegrationAsync(array $args = [])
 */
class DevOpsGuruClient extends AwsClient {}


<?php
namespace Aws\DevOpsGuru\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **Amazon DevOps Guru** service.
 */
class DevOpsGuruException extends AwsException {}


<?php
namespace Aws\DirectConnect;

use Aws\AwsClient;

/**
 * This client is used to interact with the **AWS Direct Connect** service.
 *
 * @method \Aws\Result acceptDirectConnectGatewayAssociationProposal(array $args = [])
 * @method \GuzzleHttp\Promise\Promise acceptDirectConnectGatewayAssociationProposalAsync(array $args = [])
 * @method \Aws\Result allocateConnectionOnInterconnect(array $args = [])
 * @method \GuzzleHttp\Promise\Promise allocateConnectionOnInterconnectAsync(array $args = [])
 * @method \Aws\Result allocateHostedConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise allocateHostedConnectionAsync(array $args = [])
 * @method \Aws\Result allocatePrivateVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise allocatePrivateVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result allocatePublicVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise allocatePublicVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result allocateTransitVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise allocateTransitVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result associateConnectionWithLag(array $args = [])
 * @method \GuzzleHttp\Promise\Promise associateConnectionWithLagAsync(array $args = [])
 * @method \Aws\Result associateHostedConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise associateHostedConnectionAsync(array $args = [])
 * @method \Aws\Result associateMacSecKey(array $args = [])
 * @method \GuzzleHttp\Promise\Promise associateMacSecKeyAsync(array $args = [])
 * @method \Aws\Result associateVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise associateVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result confirmConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise confirmConnectionAsync(array $args = [])
 * @method \Aws\Result confirmCustomerAgreement(array $args = [])
 * @method \GuzzleHttp\Promise\Promise confirmCustomerAgreementAsync(array $args = [])
 * @method \Aws\Result confirmPrivateVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise confirmPrivateVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result confirmPublicVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise confirmPublicVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result confirmTransitVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise confirmTransitVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result createBGPPeer(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createBGPPeerAsync(array $args = [])
 * @method \Aws\Result createConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createConnectionAsync(array $args = [])
 * @method \Aws\Result createDirectConnectGateway(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDirectConnectGatewayAsync(array $args = [])
 * @method \Aws\Result createDirectConnectGatewayAssociation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDirectConnectGatewayAssociationAsync(array $args = [])
 * @method \Aws\Result createDirectConnectGatewayAssociationProposal(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDirectConnectGatewayAssociationProposalAsync(array $args = [])
 * @method \Aws\Result createInterconnect(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createInterconnectAsync(array $args = [])
 * @method \Aws\Result createLag(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLagAsync(array $args = [])
 * @method \Aws\Result createPrivateVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createPrivateVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result createPublicVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createPublicVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result createTransitVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTransitVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result deleteBGPPeer(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteBGPPeerAsync(array $args = [])
 * @method \Aws\Result deleteConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteConnectionAsync(array $args = [])
 * @method \Aws\Result deleteDirectConnectGateway(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDirectConnectGatewayAsync(array $args = [])
 * @method \Aws\Result deleteDirectConnectGatewayAssociation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDirectConnectGatewayAssociationAsync(array $args = [])
 * @method \Aws\Result deleteDirectConnectGatewayAssociationProposal(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDirectConnectGatewayAssociationProposalAsync(array $args = [])
 * @method \Aws\Result deleteInterconnect(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteInterconnectAsync(array $args = [])
 * @method \Aws\Result deleteLag(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLagAsync(array $args = [])
 * @method \Aws\Result deleteVirtualInterface(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteVirtualInterfaceAsync(array $args = [])
 * @method \Aws\Result describeConnectionLoa(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeConnectionLoaAsync(array $args = [])
 * @method \Aws\Result describeConnections(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeConnectionsAsync(array $args = [])
 * @method \Aws\Result describeConnectionsOnInterconnect(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeConnectionsOnInterconnectAsync(array $args = [])
 * @method \Aws\Result describeCustomerMetadata(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCustomerMetadataAsync(array $args = [])
 * @method \Aws\Result describeDirectConnectGatewayAssociationProposals(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewayAssociationProposalsAsync(array $args = [])
 * @method \Aws\Result describeDirectConnectGatewayAssociations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewayAssociationsAsync(array $args = [])
 * @method \Aws\Result describeDirectConnectGatewayAttachments(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewayAttachmentsAsync(array $args = [])
 * @method \Aws\Result describeDirectConnectGateways(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewaysAsync(array $args = [])
 * @method \Aws\Result describeHostedConnections(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeHostedConnectionsAsync(array $args = [])
 * @method \Aws\Result describeInterconnectLoa(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeInterconnectLoaAsync(array $args = [])
 * @method \Aws\Result describeInterconnects(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeInterconnectsAsync(array $args = [])
 * @method \Aws\Result describeLags(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLagsAsync(array $args = [])
 * @method \Aws\Result describeLoa(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLoaAsync(array $args = [])
 * @method \Aws\Result describeLocations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLocationsAsync(array $args = [])
 * @method \Aws\Result describeRouterConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeRouterConfigurationAsync(array $args = [])
 * @method \Aws\Result describeTags(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = [])
 * @method \Aws\Result describeVirtualGateways(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeVirtualGatewaysAsync(array $args = [])
 * @method \Aws\Result describeVirtualInterfaces(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeVirtualInterfacesAsync(array $args = [])
 * @method \Aws\Result disassociateConnectionFromLag(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disassociateConnectionFromLagAsync(array $args = [])
 * @method \Aws\Result disassociateMacSecKey(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disassociateMacSecKeyAsync(array $args = [])
 * @method \Aws\Result listVirtualInterfaceTestHistory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listVirtualInterfaceTestHistoryAsync(array $args = [])
 * @method \Aws\Result startBgpFailoverTest(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startBgpFailoverTestAsync(array $args = [])
 * @method \Aws\Result stopBgpFailoverTest(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopBgpFailoverTestAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateConnectionAsync(array $args = [])
 * @method \Aws\Result updateDirectConnectGateway(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDirectConnectGatewayAsync(array $args = [])
 * @method \Aws\Result updateDirectConnectGatewayAssociation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDirectConnectGatewayAssociationAsync(array $args = [])
 * @method \Aws\Result updateLag(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLagAsync(array $args = [])
 * @method \Aws\Result updateVirtualInterfaceAttributes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateVirtualInterfaceAttributesAsync(array $args = [])
 */
class DirectConnectClient extends AwsClient {}


<?php
namespace Aws\DirectConnect\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the AWS Direct Connect service.
 */
class DirectConnectException extends AwsException {}


<?php
namespace Aws\DirectoryService;

use Aws\AwsClient;

/**
 * AWS Directory Service client
 *
 * @method \Aws\Result acceptSharedDirectory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise acceptSharedDirectoryAsync(array $args = [])
 * @method \Aws\Result addIpRoutes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addIpRoutesAsync(array $args = [])
 * @method \Aws\Result addRegion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addRegionAsync(array $args = [])
 * @method \Aws\Result addTagsToResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = [])
 * @method \Aws\Result cancelSchemaExtension(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelSchemaExtensionAsync(array $args = [])
 * @method \Aws\Result connectDirectory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise connectDirectoryAsync(array $args = [])
 * @method \Aws\Result createAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createAliasAsync(array $args = [])
 * @method \Aws\Result createComputer(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createComputerAsync(array $args = [])
 * @method \Aws\Result createConditionalForwarder(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createConditionalForwarderAsync(array $args = [])
 * @method \Aws\Result createDirectory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDirectoryAsync(array $args = [])
 * @method \Aws\Result createLogSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLogSubscriptionAsync(array $args = [])
 * @method \Aws\Result createMicrosoftAD(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createMicrosoftADAsync(array $args = [])
 * @method \Aws\Result createSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createSnapshotAsync(array $args = [])
 * @method \Aws\Result createTrust(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTrustAsync(array $args = [])
 * @method \Aws\Result deleteConditionalForwarder(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteConditionalForwarderAsync(array $args = [])
 * @method \Aws\Result deleteDirectory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDirectoryAsync(array $args = [])
 * @method \Aws\Result deleteLogSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLogSubscriptionAsync(array $args = [])
 * @method \Aws\Result deleteSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteSnapshotAsync(array $args = [])
 * @method \Aws\Result deleteTrust(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTrustAsync(array $args = [])
 * @method \Aws\Result deregisterCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deregisterCertificateAsync(array $args = [])
 * @method \Aws\Result deregisterEventTopic(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deregisterEventTopicAsync(array $args = [])
 * @method \Aws\Result describeCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCertificateAsync(array $args = [])
 * @method \Aws\Result describeClientAuthenticationSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeClientAuthenticationSettingsAsync(array $args = [])
 * @method \Aws\Result describeConditionalForwarders(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeConditionalForwardersAsync(array $args = [])
 * @method \Aws\Result describeDirectories(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDirectoriesAsync(array $args = [])
 * @method \Aws\Result describeDomainControllers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDomainControllersAsync(array $args = [])
 * @method \Aws\Result describeEventTopics(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventTopicsAsync(array $args = [])
 * @method \Aws\Result describeLDAPSSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLDAPSSettingsAsync(array $args = [])
 * @method \Aws\Result describeRegions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeRegionsAsync(array $args = [])
 * @method \Aws\Result describeSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeSettingsAsync(array $args = [])
 * @method \Aws\Result describeSharedDirectories(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeSharedDirectoriesAsync(array $args = [])
 * @method \Aws\Result describeSnapshots(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeSnapshotsAsync(array $args = [])
 * @method \Aws\Result describeTrusts(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTrustsAsync(array $args = [])
 * @method \Aws\Result describeUpdateDirectory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeUpdateDirectoryAsync(array $args = [])
 * @method \Aws\Result disableClientAuthentication(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disableClientAuthenticationAsync(array $args = [])
 * @method \Aws\Result disableLDAPS(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disableLDAPSAsync(array $args = [])
 * @method \Aws\Result disableRadius(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disableRadiusAsync(array $args = [])
 * @method \Aws\Result disableSso(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disableSsoAsync(array $args = [])
 * @method \Aws\Result enableClientAuthentication(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableClientAuthenticationAsync(array $args = [])
 * @method \Aws\Result enableLDAPS(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableLDAPSAsync(array $args = [])
 * @method \Aws\Result enableRadius(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableRadiusAsync(array $args = [])
 * @method \Aws\Result enableSso(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableSsoAsync(array $args = [])
 * @method \Aws\Result getDirectoryLimits(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDirectoryLimitsAsync(array $args = [])
 * @method \Aws\Result getSnapshotLimits(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getSnapshotLimitsAsync(array $args = [])
 * @method \Aws\Result listCertificates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listCertificatesAsync(array $args = [])
 * @method \Aws\Result listIpRoutes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listIpRoutesAsync(array $args = [])
 * @method \Aws\Result listLogSubscriptions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listLogSubscriptionsAsync(array $args = [])
 * @method \Aws\Result listSchemaExtensions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listSchemaExtensionsAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result registerCertificate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise registerCertificateAsync(array $args = [])
 * @method \Aws\Result registerEventTopic(array $args = [])
 * @method \GuzzleHttp\Promise\Promise registerEventTopicAsync(array $args = [])
 * @method \Aws\Result rejectSharedDirectory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rejectSharedDirectoryAsync(array $args = [])
 * @method \Aws\Result removeIpRoutes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeIpRoutesAsync(array $args = [])
 * @method \Aws\Result removeRegion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeRegionAsync(array $args = [])
 * @method \Aws\Result removeTagsFromResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = [])
 * @method \Aws\Result resetUserPassword(array $args = [])
 * @method \GuzzleHttp\Promise\Promise resetUserPasswordAsync(array $args = [])
 * @method \Aws\Result restoreFromSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise restoreFromSnapshotAsync(array $args = [])
 * @method \Aws\Result shareDirectory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise shareDirectoryAsync(array $args = [])
 * @method \Aws\Result startSchemaExtension(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startSchemaExtensionAsync(array $args = [])
 * @method \Aws\Result unshareDirectory(array $args = [])
 * @method \GuzzleHttp\Promise\Promise unshareDirectoryAsync(array $args = [])
 * @method \Aws\Result updateConditionalForwarder(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateConditionalForwarderAsync(array $args = [])
 * @method \Aws\Result updateDirectorySetup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDirectorySetupAsync(array $args = [])
 * @method \Aws\Result updateNumberOfDomainControllers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateNumberOfDomainControllersAsync(array $args = [])
 * @method \Aws\Result updateRadius(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateRadiusAsync(array $args = [])
 * @method \Aws\Result updateSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateSettingsAsync(array $args = [])
 * @method \Aws\Result updateTrust(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTrustAsync(array $args = [])
 * @method \Aws\Result verifyTrust(array $args = [])
 * @method \GuzzleHttp\Promise\Promise verifyTrustAsync(array $args = [])
 */
class DirectoryServiceClient extends AwsClient {}


<?php
namespace Aws\DirectoryService\Exception;

use Aws\Exception\AwsException;

/**
 * AWS Directory Service Exception
 */
class DirectoryServiceException extends AwsException {}


<?php
namespace Aws\DLM;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon Data Lifecycle Manager** service.
 * @method \Aws\Result createLifecyclePolicy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLifecyclePolicyAsync(array $args = [])
 * @method \Aws\Result deleteLifecyclePolicy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLifecyclePolicyAsync(array $args = [])
 * @method \Aws\Result getLifecyclePolicies(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getLifecyclePoliciesAsync(array $args = [])
 * @method \Aws\Result getLifecyclePolicy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getLifecyclePolicyAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateLifecyclePolicy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLifecyclePolicyAsync(array $args = [])
 */
class DLMClient extends AwsClient {}


<?php
namespace Aws\DLM\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **Amazon Data Lifecycle Manager** service.
 */
class DLMException extends AwsException {}


<?php
namespace Aws\DocDB;

use Aws\AwsClient;
use Aws\PresignUrlMiddleware;

/**
 * This client is used to interact with the **Amazon DocumentDB with MongoDB compatibility** service.
 * @method \Aws\Result addSourceIdentifierToSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addSourceIdentifierToSubscriptionAsync(array $args = [])
 * @method \Aws\Result addTagsToResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = [])
 * @method \Aws\Result applyPendingMaintenanceAction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise applyPendingMaintenanceActionAsync(array $args = [])
 * @method \Aws\Result copyDBClusterParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise copyDBClusterParameterGroupAsync(array $args = [])
 * @method \Aws\Result copyDBClusterSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise copyDBClusterSnapshotAsync(array $args = [])
 * @method \Aws\Result createDBCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBClusterAsync(array $args = [])
 * @method \Aws\Result createDBClusterParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBClusterParameterGroupAsync(array $args = [])
 * @method \Aws\Result createDBClusterSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBClusterSnapshotAsync(array $args = [])
 * @method \Aws\Result createDBInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBInstanceAsync(array $args = [])
 * @method \Aws\Result createDBSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBSubnetGroupAsync(array $args = [])
 * @method \Aws\Result createEventSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createEventSubscriptionAsync(array $args = [])
 * @method \Aws\Result createGlobalCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createGlobalClusterAsync(array $args = [])
 * @method \Aws\Result deleteDBCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBClusterAsync(array $args = [])
 * @method \Aws\Result deleteDBClusterParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBClusterParameterGroupAsync(array $args = [])
 * @method \Aws\Result deleteDBClusterSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBClusterSnapshotAsync(array $args = [])
 * @method \Aws\Result deleteDBInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBInstanceAsync(array $args = [])
 * @method \Aws\Result deleteDBSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBSubnetGroupAsync(array $args = [])
 * @method \Aws\Result deleteEventSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteEventSubscriptionAsync(array $args = [])
 * @method \Aws\Result deleteGlobalCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteGlobalClusterAsync(array $args = [])
 * @method \Aws\Result describeCertificates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeCertificatesAsync(array $args = [])
 * @method \Aws\Result describeDBClusterParameterGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBClusterParameterGroupsAsync(array $args = [])
 * @method \Aws\Result describeDBClusterParameters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBClusterParametersAsync(array $args = [])
 * @method \Aws\Result describeDBClusterSnapshotAttributes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotAttributesAsync(array $args = [])
 * @method \Aws\Result describeDBClusterSnapshots(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotsAsync(array $args = [])
 * @method \Aws\Result describeDBClusters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBClustersAsync(array $args = [])
 * @method \Aws\Result describeDBEngineVersions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBEngineVersionsAsync(array $args = [])
 * @method \Aws\Result describeDBInstances(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBInstancesAsync(array $args = [])
 * @method \Aws\Result describeDBSubnetGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBSubnetGroupsAsync(array $args = [])
 * @method \Aws\Result describeEngineDefaultClusterParameters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEngineDefaultClusterParametersAsync(array $args = [])
 * @method \Aws\Result describeEventCategories(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventCategoriesAsync(array $args = [])
 * @method \Aws\Result describeEventSubscriptions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventSubscriptionsAsync(array $args = [])
 * @method \Aws\Result describeEvents(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = [])
 * @method \Aws\Result describeGlobalClusters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeGlobalClustersAsync(array $args = [])
 * @method \Aws\Result describeOrderableDBInstanceOptions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOrderableDBInstanceOptionsAsync(array $args = [])
 * @method \Aws\Result describePendingMaintenanceActions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describePendingMaintenanceActionsAsync(array $args = [])
 * @method \Aws\Result failoverDBCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise failoverDBClusterAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result modifyDBCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyDBClusterAsync(array $args = [])
 * @method \Aws\Result modifyDBClusterParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyDBClusterParameterGroupAsync(array $args = [])
 * @method \Aws\Result modifyDBClusterSnapshotAttribute(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyDBClusterSnapshotAttributeAsync(array $args = [])
 * @method \Aws\Result modifyDBInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyDBInstanceAsync(array $args = [])
 * @method \Aws\Result modifyDBSubnetGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyDBSubnetGroupAsync(array $args = [])
 * @method \Aws\Result modifyEventSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyEventSubscriptionAsync(array $args = [])
 * @method \Aws\Result modifyGlobalCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyGlobalClusterAsync(array $args = [])
 * @method \Aws\Result rebootDBInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rebootDBInstanceAsync(array $args = [])
 * @method \Aws\Result removeFromGlobalCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeFromGlobalClusterAsync(array $args = [])
 * @method \Aws\Result removeSourceIdentifierFromSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeSourceIdentifierFromSubscriptionAsync(array $args = [])
 * @method \Aws\Result removeTagsFromResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = [])
 * @method \Aws\Result resetDBClusterParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise resetDBClusterParameterGroupAsync(array $args = [])
 * @method \Aws\Result restoreDBClusterFromSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise restoreDBClusterFromSnapshotAsync(array $args = [])
 * @method \Aws\Result restoreDBClusterToPointInTime(array $args = [])
 * @method \GuzzleHttp\Promise\Promise restoreDBClusterToPointInTimeAsync(array $args = [])
 * @method \Aws\Result startDBCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startDBClusterAsync(array $args = [])
 * @method \Aws\Result stopDBCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise stopDBClusterAsync(array $args = [])
 */
class DocDBClient extends AwsClient {
    public function __construct(array $args)
    {
        $args['with_resolved'] = function (array $args) {
            $this->getHandlerList()->appendInit(
                PresignUrlMiddleware::wrap(
                    $this,
                    $args['endpoint_provider'],
                    [
                        'operations' => [
                            'CopyDBClusterSnapshot',
                            'CreateDBCluster',
                        ],
                        'service' => 'rds',
                        'presign_param' => 'PreSignedUrl',
                        'require_different_region' => true,
                        'extra_query_params' => [
                            'CopyDBClusterSnapshot' => ['DestinationRegion'],
                            'CreateDBCluster' => ['DestinationRegion'],
                        ]
                    ]
                ),
                'rds.presigner'
            );
        };
        parent::__construct($args);
    }
}


<?php
namespace Aws\DocDB\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **Amazon DocumentDB with MongoDB compatibility** service.
 */
class DocDBException extends AwsException {}


<?php
namespace Aws\DocDBElastic;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon DocumentDB Elastic Clusters** service.
 * @method \Aws\Result createCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = [])
 * @method \Aws\Result createClusterSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createClusterSnapshotAsync(array $args = [])
 * @method \Aws\Result deleteCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = [])
 * @method \Aws\Result deleteClusterSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteClusterSnapshotAsync(array $args = [])
 * @method \Aws\Result getCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getClusterAsync(array $args = [])
 * @method \Aws\Result getClusterSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getClusterSnapshotAsync(array $args = [])
 * @method \Aws\Result listClusterSnapshots(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listClusterSnapshotsAsync(array $args = [])
 * @method \Aws\Result listClusters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listClustersAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result restoreClusterFromSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise restoreClusterFromSnapshotAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateCluster(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateClusterAsync(array $args = [])
 */
class DocDBElasticClient extends AwsClient {}


<?php
namespace Aws\DocDBElastic\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **Amazon DocumentDB Elastic Clusters** service.
 */
class DocDBElasticException extends AwsException {}


<?php
namespace Aws\DynamoDb;

use GuzzleHttp\Psr7;

/**
 * Special object to represent a DynamoDB binary (B) value.
 */
class BinaryValue implements \JsonSerializable
{
    /** @var string Binary value. */
    private $value;

    /**
     * @param mixed $value A binary value compatible with Guzzle streams.
     *
     * @see GuzzleHttp\Stream\Stream::factory
     */
    public function __construct($value)
    {
        if (!is_string($value)) {
            $value = Psr7\Utils::streamFor($value);
        }
        $this->value = (string) $value;
    }

    #[\ReturnTypeWillChange]
    public function jsonSerialize()
    {
        return $this->value;
    }

    public function __toString()
    {
        return $this->value;
    }
}