<?php
namespace Aws\Proton;

use Aws\AwsClient;

/**
 * This client is used to interact with the **AWS Proton** service.
 * @method \Aws\Result acceptEnvironmentAccountConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise acceptEnvironmentAccountConnectionAsync(array $args = [])
 * @method \Aws\Result cancelComponentDeployment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelComponentDeploymentAsync(array $args = [])
 * @method \Aws\Result cancelEnvironmentDeployment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelEnvironmentDeploymentAsync(array $args = [])
 * @method \Aws\Result cancelServiceInstanceDeployment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelServiceInstanceDeploymentAsync(array $args = [])
 * @method \Aws\Result cancelServicePipelineDeployment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelServicePipelineDeploymentAsync(array $args = [])
 * @method \Aws\Result createComponent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createComponentAsync(array $args = [])
 * @method \Aws\Result createEnvironment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createEnvironmentAsync(array $args = [])
 * @method \Aws\Result createEnvironmentAccountConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createEnvironmentAccountConnectionAsync(array $args = [])
 * @method \Aws\Result createEnvironmentTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createEnvironmentTemplateAsync(array $args = [])
 * @method \Aws\Result createEnvironmentTemplateVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createEnvironmentTemplateVersionAsync(array $args = [])
 * @method \Aws\Result createRepository(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createRepositoryAsync(array $args = [])
 * @method \Aws\Result createService(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createServiceAsync(array $args = [])
 * @method \Aws\Result createServiceInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createServiceInstanceAsync(array $args = [])
 * @method \Aws\Result createServiceSyncConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createServiceSyncConfigAsync(array $args = [])
 * @method \Aws\Result createServiceTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createServiceTemplateAsync(array $args = [])
 * @method \Aws\Result createServiceTemplateVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createServiceTemplateVersionAsync(array $args = [])
 * @method \Aws\Result createTemplateSyncConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTemplateSyncConfigAsync(array $args = [])
 * @method \Aws\Result deleteComponent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteComponentAsync(array $args = [])
 * @method \Aws\Result deleteEnvironment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteEnvironmentAsync(array $args = [])
 * @method \Aws\Result deleteEnvironmentAccountConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteEnvironmentAccountConnectionAsync(array $args = [])
 * @method \Aws\Result deleteEnvironmentTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteEnvironmentTemplateAsync(array $args = [])
 * @method \Aws\Result deleteEnvironmentTemplateVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteEnvironmentTemplateVersionAsync(array $args = [])
 * @method \Aws\Result deleteRepository(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteRepositoryAsync(array $args = [])
 * @method \Aws\Result deleteService(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteServiceAsync(array $args = [])
 * @method \Aws\Result deleteServiceSyncConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteServiceSyncConfigAsync(array $args = [])
 * @method \Aws\Result deleteServiceTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteServiceTemplateAsync(array $args = [])
 * @method \Aws\Result deleteServiceTemplateVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteServiceTemplateVersionAsync(array $args = [])
 * @method \Aws\Result deleteTemplateSyncConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTemplateSyncConfigAsync(array $args = [])
 * @method \Aws\Result getAccountSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAccountSettingsAsync(array $args = [])
 * @method \Aws\Result getComponent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getComponentAsync(array $args = [])
 * @method \Aws\Result getEnvironment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getEnvironmentAsync(array $args = [])
 * @method \Aws\Result getEnvironmentAccountConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getEnvironmentAccountConnectionAsync(array $args = [])
 * @method \Aws\Result getEnvironmentTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getEnvironmentTemplateAsync(array $args = [])
 * @method \Aws\Result getEnvironmentTemplateVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getEnvironmentTemplateVersionAsync(array $args = [])
 * @method \Aws\Result getRepository(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getRepositoryAsync(array $args = [])
 * @method \Aws\Result getRepositorySyncStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getRepositorySyncStatusAsync(array $args = [])
 * @method \Aws\Result getResourcesSummary(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getResourcesSummaryAsync(array $args = [])
 * @method \Aws\Result getService(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getServiceAsync(array $args = [])
 * @method \Aws\Result getServiceInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getServiceInstanceAsync(array $args = [])
 * @method \Aws\Result getServiceInstanceSyncStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getServiceInstanceSyncStatusAsync(array $args = [])
 * @method \Aws\Result getServiceSyncBlockerSummary(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getServiceSyncBlockerSummaryAsync(array $args = [])
 * @method \Aws\Result getServiceSyncConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getServiceSyncConfigAsync(array $args = [])
 * @method \Aws\Result getServiceTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getServiceTemplateAsync(array $args = [])
 * @method \Aws\Result getServiceTemplateVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getServiceTemplateVersionAsync(array $args = [])
 * @method \Aws\Result getTemplateSyncConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getTemplateSyncConfigAsync(array $args = [])
 * @method \Aws\Result getTemplateSyncStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getTemplateSyncStatusAsync(array $args = [])
 * @method \Aws\Result listComponentOutputs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listComponentOutputsAsync(array $args = [])
 * @method \Aws\Result listComponentProvisionedResources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listComponentProvisionedResourcesAsync(array $args = [])
 * @method \Aws\Result listComponents(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listComponentsAsync(array $args = [])
 * @method \Aws\Result listEnvironmentAccountConnections(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listEnvironmentAccountConnectionsAsync(array $args = [])
 * @method \Aws\Result listEnvironmentOutputs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listEnvironmentOutputsAsync(array $args = [])
 * @method \Aws\Result listEnvironmentProvisionedResources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listEnvironmentProvisionedResourcesAsync(array $args = [])
 * @method \Aws\Result listEnvironmentTemplateVersions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listEnvironmentTemplateVersionsAsync(array $args = [])
 * @method \Aws\Result listEnvironmentTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listEnvironmentTemplatesAsync(array $args = [])
 * @method \Aws\Result listEnvironments(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listEnvironmentsAsync(array $args = [])
 * @method \Aws\Result listRepositories(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRepositoriesAsync(array $args = [])
 * @method \Aws\Result listRepositorySyncDefinitions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRepositorySyncDefinitionsAsync(array $args = [])
 * @method \Aws\Result listServiceInstanceOutputs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listServiceInstanceOutputsAsync(array $args = [])
 * @method \Aws\Result listServiceInstanceProvisionedResources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listServiceInstanceProvisionedResourcesAsync(array $args = [])
 * @method \Aws\Result listServiceInstances(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listServiceInstancesAsync(array $args = [])
 * @method \Aws\Result listServicePipelineOutputs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listServicePipelineOutputsAsync(array $args = [])
 * @method \Aws\Result listServicePipelineProvisionedResources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listServicePipelineProvisionedResourcesAsync(array $args = [])
 * @method \Aws\Result listServiceTemplateVersions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listServiceTemplateVersionsAsync(array $args = [])
 * @method \Aws\Result listServiceTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listServiceTemplatesAsync(array $args = [])
 * @method \Aws\Result listServices(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listServicesAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result notifyResourceDeploymentStatusChange(array $args = [])
 * @method \GuzzleHttp\Promise\Promise notifyResourceDeploymentStatusChangeAsync(array $args = [])
 * @method \Aws\Result rejectEnvironmentAccountConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rejectEnvironmentAccountConnectionAsync(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 updateAccountSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateAccountSettingsAsync(array $args = [])
 * @method \Aws\Result updateComponent(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateComponentAsync(array $args = [])
 * @method \Aws\Result updateEnvironment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateEnvironmentAsync(array $args = [])
 * @method \Aws\Result updateEnvironmentAccountConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateEnvironmentAccountConnectionAsync(array $args = [])
 * @method \Aws\Result updateEnvironmentTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateEnvironmentTemplateAsync(array $args = [])
 * @method \Aws\Result updateEnvironmentTemplateVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateEnvironmentTemplateVersionAsync(array $args = [])
 * @method \Aws\Result updateService(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateServiceAsync(array $args = [])
 * @method \Aws\Result updateServiceInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateServiceInstanceAsync(array $args = [])
 * @method \Aws\Result updateServicePipeline(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateServicePipelineAsync(array $args = [])
 * @method \Aws\Result updateServiceSyncBlocker(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateServiceSyncBlockerAsync(array $args = [])
 * @method \Aws\Result updateServiceSyncConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateServiceSyncConfigAsync(array $args = [])
 * @method \Aws\Result updateServiceTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateServiceTemplateAsync(array $args = [])
 * @method \Aws\Result updateServiceTemplateVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateServiceTemplateVersionAsync(array $args = [])
 * @method \Aws\Result updateTemplateSyncConfig(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTemplateSyncConfigAsync(array $args = [])
 */
class ProtonClient extends AwsClient {}


<?php
namespace Aws\Proton\Exception;

use Aws\Exception\AwsException;

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


<?php
namespace Aws\QLDB;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon QLDB** service.
 * @method \Aws\Result cancelJournalKinesisStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelJournalKinesisStreamAsync(array $args = [])
 * @method \Aws\Result createLedger(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLedgerAsync(array $args = [])
 * @method \Aws\Result deleteLedger(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLedgerAsync(array $args = [])
 * @method \Aws\Result describeJournalKinesisStream(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeJournalKinesisStreamAsync(array $args = [])
 * @method \Aws\Result describeJournalS3Export(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeJournalS3ExportAsync(array $args = [])
 * @method \Aws\Result describeLedger(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeLedgerAsync(array $args = [])
 * @method \Aws\Result exportJournalToS3(array $args = [])
 * @method \GuzzleHttp\Promise\Promise exportJournalToS3Async(array $args = [])
 * @method \Aws\Result getBlock(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getBlockAsync(array $args = [])
 * @method \Aws\Result getDigest(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDigestAsync(array $args = [])
 * @method \Aws\Result getRevision(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getRevisionAsync(array $args = [])
 * @method \Aws\Result listJournalKinesisStreamsForLedger(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listJournalKinesisStreamsForLedgerAsync(array $args = [])
 * @method \Aws\Result listJournalS3Exports(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listJournalS3ExportsAsync(array $args = [])
 * @method \Aws\Result listJournalS3ExportsForLedger(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listJournalS3ExportsForLedgerAsync(array $args = [])
 * @method \Aws\Result listLedgers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listLedgersAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result streamJournalToKinesis(array $args = [])
 * @method \GuzzleHttp\Promise\Promise streamJournalToKinesisAsync(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 updateLedger(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLedgerAsync(array $args = [])
 * @method \Aws\Result updateLedgerPermissionsMode(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLedgerPermissionsModeAsync(array $args = [])
 */
class QLDBClient extends AwsClient {}


<?php
namespace Aws\QLDB\Exception;

use Aws\Exception\AwsException;

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


<?php
namespace Aws\QLDBSession;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon QLDB Session** service.
 * @method \Aws\Result sendCommand(array $args = [])
 * @method \GuzzleHttp\Promise\Promise sendCommandAsync(array $args = [])
 */
class QLDBSessionClient extends AwsClient {}


<?php
namespace Aws\QLDBSession\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **Amazon QLDB Session** service.
 */
class QLDBSessionException extends AwsException {}


<?php
namespace Aws\QuickSight;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon QuickSight** service.
 * @method \Aws\Result cancelIngestion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cancelIngestionAsync(array $args = [])
 * @method \Aws\Result createAccountCustomization(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createAccountCustomizationAsync(array $args = [])
 * @method \Aws\Result createAccountSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createAccountSubscriptionAsync(array $args = [])
 * @method \Aws\Result createAnalysis(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createAnalysisAsync(array $args = [])
 * @method \Aws\Result createDashboard(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDashboardAsync(array $args = [])
 * @method \Aws\Result createDataSet(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDataSetAsync(array $args = [])
 * @method \Aws\Result createDataSource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDataSourceAsync(array $args = [])
 * @method \Aws\Result createFolder(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createFolderAsync(array $args = [])
 * @method \Aws\Result createFolderMembership(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createFolderMembershipAsync(array $args = [])
 * @method \Aws\Result createGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = [])
 * @method \Aws\Result createGroupMembership(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createGroupMembershipAsync(array $args = [])
 * @method \Aws\Result createIAMPolicyAssignment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createIAMPolicyAssignmentAsync(array $args = [])
 * @method \Aws\Result createIngestion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createIngestionAsync(array $args = [])
 * @method \Aws\Result createNamespace(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createNamespaceAsync(array $args = [])
 * @method \Aws\Result createRefreshSchedule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createRefreshScheduleAsync(array $args = [])
 * @method \Aws\Result createTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTemplateAsync(array $args = [])
 * @method \Aws\Result createTemplateAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTemplateAliasAsync(array $args = [])
 * @method \Aws\Result createTheme(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createThemeAsync(array $args = [])
 * @method \Aws\Result createThemeAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createThemeAliasAsync(array $args = [])
 * @method \Aws\Result createTopic(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTopicAsync(array $args = [])
 * @method \Aws\Result createTopicRefreshSchedule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTopicRefreshScheduleAsync(array $args = [])
 * @method \Aws\Result createVPCConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createVPCConnectionAsync(array $args = [])
 * @method \Aws\Result deleteAccountCustomization(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteAccountCustomizationAsync(array $args = [])
 * @method \Aws\Result deleteAccountSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteAccountSubscriptionAsync(array $args = [])
 * @method \Aws\Result deleteAnalysis(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteAnalysisAsync(array $args = [])
 * @method \Aws\Result deleteDashboard(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDashboardAsync(array $args = [])
 * @method \Aws\Result deleteDataSet(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDataSetAsync(array $args = [])
 * @method \Aws\Result deleteDataSetRefreshProperties(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDataSetRefreshPropertiesAsync(array $args = [])
 * @method \Aws\Result deleteDataSource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDataSourceAsync(array $args = [])
 * @method \Aws\Result deleteFolder(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteFolderAsync(array $args = [])
 * @method \Aws\Result deleteFolderMembership(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteFolderMembershipAsync(array $args = [])
 * @method \Aws\Result deleteGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = [])
 * @method \Aws\Result deleteGroupMembership(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteGroupMembershipAsync(array $args = [])
 * @method \Aws\Result deleteIAMPolicyAssignment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteIAMPolicyAssignmentAsync(array $args = [])
 * @method \Aws\Result deleteNamespace(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteNamespaceAsync(array $args = [])
 * @method \Aws\Result deleteRefreshSchedule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteRefreshScheduleAsync(array $args = [])
 * @method \Aws\Result deleteTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTemplateAsync(array $args = [])
 * @method \Aws\Result deleteTemplateAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTemplateAliasAsync(array $args = [])
 * @method \Aws\Result deleteTheme(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteThemeAsync(array $args = [])
 * @method \Aws\Result deleteThemeAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteThemeAliasAsync(array $args = [])
 * @method \Aws\Result deleteTopic(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTopicAsync(array $args = [])
 * @method \Aws\Result deleteTopicRefreshSchedule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTopicRefreshScheduleAsync(array $args = [])
 * @method \Aws\Result deleteUser(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = [])
 * @method \Aws\Result deleteUserByPrincipalId(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteUserByPrincipalIdAsync(array $args = [])
 * @method \Aws\Result deleteVPCConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteVPCConnectionAsync(array $args = [])
 * @method \Aws\Result describeAccountCustomization(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAccountCustomizationAsync(array $args = [])
 * @method \Aws\Result describeAccountSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAccountSettingsAsync(array $args = [])
 * @method \Aws\Result describeAccountSubscription(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAccountSubscriptionAsync(array $args = [])
 * @method \Aws\Result describeAnalysis(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAnalysisAsync(array $args = [])
 * @method \Aws\Result describeAnalysisDefinition(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAnalysisDefinitionAsync(array $args = [])
 * @method \Aws\Result describeAnalysisPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAnalysisPermissionsAsync(array $args = [])
 * @method \Aws\Result describeAssetBundleExportJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAssetBundleExportJobAsync(array $args = [])
 * @method \Aws\Result describeAssetBundleImportJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeAssetBundleImportJobAsync(array $args = [])
 * @method \Aws\Result describeDashboard(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDashboardAsync(array $args = [])
 * @method \Aws\Result describeDashboardDefinition(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDashboardDefinitionAsync(array $args = [])
 * @method \Aws\Result describeDashboardPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDashboardPermissionsAsync(array $args = [])
 * @method \Aws\Result describeDataSet(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDataSetAsync(array $args = [])
 * @method \Aws\Result describeDataSetPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDataSetPermissionsAsync(array $args = [])
 * @method \Aws\Result describeDataSetRefreshProperties(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDataSetRefreshPropertiesAsync(array $args = [])
 * @method \Aws\Result describeDataSource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDataSourceAsync(array $args = [])
 * @method \Aws\Result describeDataSourcePermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDataSourcePermissionsAsync(array $args = [])
 * @method \Aws\Result describeFolder(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFolderAsync(array $args = [])
 * @method \Aws\Result describeFolderPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFolderPermissionsAsync(array $args = [])
 * @method \Aws\Result describeFolderResolvedPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeFolderResolvedPermissionsAsync(array $args = [])
 * @method \Aws\Result describeGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeGroupAsync(array $args = [])
 * @method \Aws\Result describeGroupMembership(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeGroupMembershipAsync(array $args = [])
 * @method \Aws\Result describeIAMPolicyAssignment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeIAMPolicyAssignmentAsync(array $args = [])
 * @method \Aws\Result describeIngestion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeIngestionAsync(array $args = [])
 * @method \Aws\Result describeIpRestriction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeIpRestrictionAsync(array $args = [])
 * @method \Aws\Result describeNamespace(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeNamespaceAsync(array $args = [])
 * @method \Aws\Result describeRefreshSchedule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeRefreshScheduleAsync(array $args = [])
 * @method \Aws\Result describeTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTemplateAsync(array $args = [])
 * @method \Aws\Result describeTemplateAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTemplateAliasAsync(array $args = [])
 * @method \Aws\Result describeTemplateDefinition(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTemplateDefinitionAsync(array $args = [])
 * @method \Aws\Result describeTemplatePermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTemplatePermissionsAsync(array $args = [])
 * @method \Aws\Result describeTheme(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeThemeAsync(array $args = [])
 * @method \Aws\Result describeThemeAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeThemeAliasAsync(array $args = [])
 * @method \Aws\Result describeThemePermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeThemePermissionsAsync(array $args = [])
 * @method \Aws\Result describeTopic(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTopicAsync(array $args = [])
 * @method \Aws\Result describeTopicPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTopicPermissionsAsync(array $args = [])
 * @method \Aws\Result describeTopicRefresh(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTopicRefreshAsync(array $args = [])
 * @method \Aws\Result describeTopicRefreshSchedule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTopicRefreshScheduleAsync(array $args = [])
 * @method \Aws\Result describeUser(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = [])
 * @method \Aws\Result describeVPCConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeVPCConnectionAsync(array $args = [])
 * @method \Aws\Result generateEmbedUrlForAnonymousUser(array $args = [])
 * @method \GuzzleHttp\Promise\Promise generateEmbedUrlForAnonymousUserAsync(array $args = [])
 * @method \Aws\Result generateEmbedUrlForRegisteredUser(array $args = [])
 * @method \GuzzleHttp\Promise\Promise generateEmbedUrlForRegisteredUserAsync(array $args = [])
 * @method \Aws\Result getDashboardEmbedUrl(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDashboardEmbedUrlAsync(array $args = [])
 * @method \Aws\Result getSessionEmbedUrl(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getSessionEmbedUrlAsync(array $args = [])
 * @method \Aws\Result listAnalyses(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAnalysesAsync(array $args = [])
 * @method \Aws\Result listAssetBundleExportJobs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAssetBundleExportJobsAsync(array $args = [])
 * @method \Aws\Result listAssetBundleImportJobs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAssetBundleImportJobsAsync(array $args = [])
 * @method \Aws\Result listDashboardVersions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDashboardVersionsAsync(array $args = [])
 * @method \Aws\Result listDashboards(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDashboardsAsync(array $args = [])
 * @method \Aws\Result listDataSets(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDataSetsAsync(array $args = [])
 * @method \Aws\Result listDataSources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDataSourcesAsync(array $args = [])
 * @method \Aws\Result listFolderMembers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listFolderMembersAsync(array $args = [])
 * @method \Aws\Result listFolders(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listFoldersAsync(array $args = [])
 * @method \Aws\Result listGroupMemberships(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listGroupMembershipsAsync(array $args = [])
 * @method \Aws\Result listGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listGroupsAsync(array $args = [])
 * @method \Aws\Result listIAMPolicyAssignments(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listIAMPolicyAssignmentsAsync(array $args = [])
 * @method \Aws\Result listIAMPolicyAssignmentsForUser(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listIAMPolicyAssignmentsForUserAsync(array $args = [])
 * @method \Aws\Result listIngestions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listIngestionsAsync(array $args = [])
 * @method \Aws\Result listNamespaces(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listNamespacesAsync(array $args = [])
 * @method \Aws\Result listRefreshSchedules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRefreshSchedulesAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result listTemplateAliases(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTemplateAliasesAsync(array $args = [])
 * @method \Aws\Result listTemplateVersions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTemplateVersionsAsync(array $args = [])
 * @method \Aws\Result listTemplates(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTemplatesAsync(array $args = [])
 * @method \Aws\Result listThemeAliases(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listThemeAliasesAsync(array $args = [])
 * @method \Aws\Result listThemeVersions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listThemeVersionsAsync(array $args = [])
 * @method \Aws\Result listThemes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listThemesAsync(array $args = [])
 * @method \Aws\Result listTopicRefreshSchedules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTopicRefreshSchedulesAsync(array $args = [])
 * @method \Aws\Result listTopics(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTopicsAsync(array $args = [])
 * @method \Aws\Result listUserGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listUserGroupsAsync(array $args = [])
 * @method \Aws\Result listUsers(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = [])
 * @method \Aws\Result listVPCConnections(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listVPCConnectionsAsync(array $args = [])
 * @method \Aws\Result putDataSetRefreshProperties(array $args = [])
 * @method \GuzzleHttp\Promise\Promise putDataSetRefreshPropertiesAsync(array $args = [])
 * @method \Aws\Result registerUser(array $args = [])
 * @method \GuzzleHttp\Promise\Promise registerUserAsync(array $args = [])
 * @method \Aws\Result restoreAnalysis(array $args = [])
 * @method \GuzzleHttp\Promise\Promise restoreAnalysisAsync(array $args = [])
 * @method \Aws\Result searchAnalyses(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchAnalysesAsync(array $args = [])
 * @method \Aws\Result searchDashboards(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchDashboardsAsync(array $args = [])
 * @method \Aws\Result searchDataSets(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchDataSetsAsync(array $args = [])
 * @method \Aws\Result searchDataSources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchDataSourcesAsync(array $args = [])
 * @method \Aws\Result searchFolders(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchFoldersAsync(array $args = [])
 * @method \Aws\Result searchGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise searchGroupsAsync(array $args = [])
 * @method \Aws\Result startAssetBundleExportJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startAssetBundleExportJobAsync(array $args = [])
 * @method \Aws\Result startAssetBundleImportJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise startAssetBundleImportJobAsync(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 updateAccountCustomization(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateAccountCustomizationAsync(array $args = [])
 * @method \Aws\Result updateAccountSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateAccountSettingsAsync(array $args = [])
 * @method \Aws\Result updateAnalysis(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateAnalysisAsync(array $args = [])
 * @method \Aws\Result updateAnalysisPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateAnalysisPermissionsAsync(array $args = [])
 * @method \Aws\Result updateDashboard(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDashboardAsync(array $args = [])
 * @method \Aws\Result updateDashboardPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDashboardPermissionsAsync(array $args = [])
 * @method \Aws\Result updateDashboardPublishedVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDashboardPublishedVersionAsync(array $args = [])
 * @method \Aws\Result updateDataSet(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDataSetAsync(array $args = [])
 * @method \Aws\Result updateDataSetPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDataSetPermissionsAsync(array $args = [])
 * @method \Aws\Result updateDataSource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDataSourceAsync(array $args = [])
 * @method \Aws\Result updateDataSourcePermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDataSourcePermissionsAsync(array $args = [])
 * @method \Aws\Result updateFolder(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateFolderAsync(array $args = [])
 * @method \Aws\Result updateFolderPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateFolderPermissionsAsync(array $args = [])
 * @method \Aws\Result updateGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateGroupAsync(array $args = [])
 * @method \Aws\Result updateIAMPolicyAssignment(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateIAMPolicyAssignmentAsync(array $args = [])
 * @method \Aws\Result updateIpRestriction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateIpRestrictionAsync(array $args = [])
 * @method \Aws\Result updatePublicSharingSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updatePublicSharingSettingsAsync(array $args = [])
 * @method \Aws\Result updateRefreshSchedule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateRefreshScheduleAsync(array $args = [])
 * @method \Aws\Result updateTemplate(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTemplateAsync(array $args = [])
 * @method \Aws\Result updateTemplateAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTemplateAliasAsync(array $args = [])
 * @method \Aws\Result updateTemplatePermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTemplatePermissionsAsync(array $args = [])
 * @method \Aws\Result updateTheme(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateThemeAsync(array $args = [])
 * @method \Aws\Result updateThemeAlias(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateThemeAliasAsync(array $args = [])
 * @method \Aws\Result updateThemePermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateThemePermissionsAsync(array $args = [])
 * @method \Aws\Result updateTopic(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTopicAsync(array $args = [])
 * @method \Aws\Result updateTopicPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTopicPermissionsAsync(array $args = [])
 * @method \Aws\Result updateTopicRefreshSchedule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTopicRefreshScheduleAsync(array $args = [])
 * @method \Aws\Result updateUser(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateUserAsync(array $args = [])
 * @method \Aws\Result updateVPCConnection(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateVPCConnectionAsync(array $args = [])
 */
class QuickSightClient extends AwsClient {}


<?php
namespace Aws\QuickSight\Exception;

use Aws\Exception\AwsException;

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


<?php
namespace Aws\RAM;

use Aws\AwsClient;

/**
 * This client is used to interact with the **AWS Resource Access Manager** service.
 * @method \Aws\Result acceptResourceShareInvitation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise acceptResourceShareInvitationAsync(array $args = [])
 * @method \Aws\Result associateResourceShare(array $args = [])
 * @method \GuzzleHttp\Promise\Promise associateResourceShareAsync(array $args = [])
 * @method \Aws\Result associateResourceSharePermission(array $args = [])
 * @method \GuzzleHttp\Promise\Promise associateResourceSharePermissionAsync(array $args = [])
 * @method \Aws\Result createPermission(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createPermissionAsync(array $args = [])
 * @method \Aws\Result createPermissionVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createPermissionVersionAsync(array $args = [])
 * @method \Aws\Result createResourceShare(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createResourceShareAsync(array $args = [])
 * @method \Aws\Result deletePermission(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deletePermissionAsync(array $args = [])
 * @method \Aws\Result deletePermissionVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deletePermissionVersionAsync(array $args = [])
 * @method \Aws\Result deleteResourceShare(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteResourceShareAsync(array $args = [])
 * @method \Aws\Result disassociateResourceShare(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disassociateResourceShareAsync(array $args = [])
 * @method \Aws\Result disassociateResourceSharePermission(array $args = [])
 * @method \GuzzleHttp\Promise\Promise disassociateResourceSharePermissionAsync(array $args = [])
 * @method \Aws\Result enableSharingWithAwsOrganization(array $args = [])
 * @method \GuzzleHttp\Promise\Promise enableSharingWithAwsOrganizationAsync(array $args = [])
 * @method \Aws\Result getPermission(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getPermissionAsync(array $args = [])
 * @method \Aws\Result getResourcePolicies(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getResourcePoliciesAsync(array $args = [])
 * @method \Aws\Result getResourceShareAssociations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getResourceShareAssociationsAsync(array $args = [])
 * @method \Aws\Result getResourceShareInvitations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getResourceShareInvitationsAsync(array $args = [])
 * @method \Aws\Result getResourceShares(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getResourceSharesAsync(array $args = [])
 * @method \Aws\Result listPendingInvitationResources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listPendingInvitationResourcesAsync(array $args = [])
 * @method \Aws\Result listPermissionAssociations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listPermissionAssociationsAsync(array $args = [])
 * @method \Aws\Result listPermissionVersions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listPermissionVersionsAsync(array $args = [])
 * @method \Aws\Result listPermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listPermissionsAsync(array $args = [])
 * @method \Aws\Result listPrincipals(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listPrincipalsAsync(array $args = [])
 * @method \Aws\Result listReplacePermissionAssociationsWork(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listReplacePermissionAssociationsWorkAsync(array $args = [])
 * @method \Aws\Result listResourceSharePermissions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listResourceSharePermissionsAsync(array $args = [])
 * @method \Aws\Result listResourceTypes(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listResourceTypesAsync(array $args = [])
 * @method \Aws\Result listResources(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listResourcesAsync(array $args = [])
 * @method \Aws\Result promotePermissionCreatedFromPolicy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise promotePermissionCreatedFromPolicyAsync(array $args = [])
 * @method \Aws\Result promoteResourceShareCreatedFromPolicy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise promoteResourceShareCreatedFromPolicyAsync(array $args = [])
 * @method \Aws\Result rejectResourceShareInvitation(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rejectResourceShareInvitationAsync(array $args = [])
 * @method \Aws\Result replacePermissionAssociations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise replacePermissionAssociationsAsync(array $args = [])
 * @method \Aws\Result setDefaultPermissionVersion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise setDefaultPermissionVersionAsync(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 updateResourceShare(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateResourceShareAsync(array $args = [])
 */
class RAMClient extends AwsClient {}


<?php
namespace Aws\RAM\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **AWS Resource Access Manager** service.
 */
class RAMException extends AwsException {}


<?php
namespace Aws\Rds;

use Aws\Credentials\CredentialsInterface;
use Aws\Credentials\Credentials;
use Aws\Signature\SignatureV4;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Psr7\Uri;
use GuzzleHttp\Promise;
use Aws;

/**
 * Generates RDS auth tokens for use with IAM authentication.
 */
class AuthTokenGenerator
{

    private $credentialProvider;

    /**
     * The constructor takes an instance of Credentials or a CredentialProvider
     *
     * @param callable|Credentials $creds
     */
    public function __construct($creds)
    {
        if ($creds instanceof CredentialsInterface) {
            $promise = new Promise\FulfilledPromise($creds);
            $this->credentialProvider = Aws\constantly($promise);
        } else {
            $this->credentialProvider = $creds;
        }
    }

    /**
     * Create the token for database login
     *
     * @param string $endpoint The database hostname with port number specified
     *                         (e.g., host:port)
     * @param string $region The region where the database is located
     * @param string $username The username to login as
     * @param int $lifetime The lifetime of the token in minutes
     *
     * @return string Token generated
     */
    public function createToken($endpoint, $region, $username, $lifetime = 15)
    {
        if (!is_numeric($lifetime) || $lifetime > 15 || $lifetime <= 0) {
            throw new \InvalidArgumentException(
                "Lifetime must be a positive number less than or equal to 15, was {$lifetime}",
                null
            );
        }

        $uri = new Uri($endpoint);
        $uri = $uri->withPath('/');
        $uri = $uri->withQuery('Action=connect&DBUser=' . $username);

        $request = new Request('GET', $uri);
        $signer = new SignatureV4('rds-db', $region);
        $provider = $this->credentialProvider;

        $url = (string) $signer->presign(
            $request,
            $provider()->wait(),
            '+' . $lifetime . ' minutes'
        )->getUri();

        // Remove 2 extra slash from the presigned url result
        return substr($url, 2);
    }
}


<?php
namespace Aws\Rds;

use Aws\AwsClient;
use Aws\Api\Service;
use Aws\Api\DocModel;
use Aws\Api\ApiProvider;
use Aws\PresignUrlMiddleware;

/**
 * This client is used to interact with the **Amazon Relational Database Service (Amazon RDS)**.
 *
 * @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 authorizeDBSecurityGroupIngress(array $args = [])
 * @method \GuzzleHttp\Promise\Promise authorizeDBSecurityGroupIngressAsync(array $args = [])
 * @method \Aws\Result copyDBParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise copyDBParameterGroupAsync(array $args = [])
 * @method \Aws\Result copyDBSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise copyDBSnapshotAsync(array $args = [])
 * @method \Aws\Result copyOptionGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise copyOptionGroupAsync(array $args = [])
 * @method \Aws\Result createDBInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBInstanceAsync(array $args = [])
 * @method \Aws\Result createDBInstanceReadReplica(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBInstanceReadReplicaAsync(array $args = [])
 * @method \Aws\Result createDBParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBParameterGroupAsync(array $args = [])
 * @method \Aws\Result createDBSecurityGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBSecurityGroupAsync(array $args = [])
 * @method \Aws\Result createDBSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDBSnapshotAsync(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 createOptionGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createOptionGroupAsync(array $args = [])
 * @method \Aws\Result deleteDBInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBInstanceAsync(array $args = [])
 * @method \Aws\Result deleteDBParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBParameterGroupAsync(array $args = [])
 * @method \Aws\Result deleteDBSecurityGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBSecurityGroupAsync(array $args = [])
 * @method \Aws\Result deleteDBSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDBSnapshotAsync(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 deleteOptionGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteOptionGroupAsync(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 describeDBLogFiles(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBLogFilesAsync(array $args = [])
 * @method \Aws\Result describeDBParameterGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBParameterGroupsAsync(array $args = [])
 * @method \Aws\Result describeDBParameters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBParametersAsync(array $args = [])
 * @method \Aws\Result describeDBSecurityGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBSecurityGroupsAsync(array $args = [])
 * @method \Aws\Result describeDBSnapshots(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBSnapshotsAsync(array $args = [])
 * @method \Aws\Result describeDBSubnetGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDBSubnetGroupsAsync(array $args = [])
 * @method \Aws\Result describeEngineDefaultParameters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeEngineDefaultParametersAsync(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 describeOptionGroupOptions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOptionGroupOptionsAsync(array $args = [])
 * @method \Aws\Result describeOptionGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOptionGroupsAsync(array $args = [])
 * @method \Aws\Result describeOrderableDBInstanceOptions(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeOrderableDBInstanceOptionsAsync(array $args = [])
 * @method \Aws\Result describeReservedDBInstances(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReservedDBInstancesAsync(array $args = [])
 * @method \Aws\Result describeReservedDBInstancesOfferings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeReservedDBInstancesOfferingsAsync(array $args = [])
 * @method \Aws\Result downloadDBLogFilePortion(array $args = [])
 * @method \GuzzleHttp\Promise\Promise downloadDBLogFilePortionAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result modifyDBInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyDBInstanceAsync(array $args = [])
 * @method \Aws\Result modifyDBParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyDBParameterGroupAsync(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 modifyOptionGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyOptionGroupAsync(array $args = [])
 * @method \Aws\Result promoteReadReplica(array $args = [])
 * @method \GuzzleHttp\Promise\Promise promoteReadReplicaAsync(array $args = [])
 * @method \Aws\Result purchaseReservedDBInstancesOffering(array $args = [])
 * @method \GuzzleHttp\Promise\Promise purchaseReservedDBInstancesOfferingAsync(array $args = [])
 * @method \Aws\Result rebootDBInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rebootDBInstanceAsync(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 resetDBParameterGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise resetDBParameterGroupAsync(array $args = [])
 * @method \Aws\Result restoreDBInstanceFromDBSnapshot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise restoreDBInstanceFromDBSnapshotAsync(array $args = [])
 * @method \Aws\Result restoreDBInstanceToPointInTime(array $args = [])
 * @method \GuzzleHttp\Promise\Promise restoreDBInstanceToPointInTimeAsync(array $args = [])
 * @method \Aws\Result revokeDBSecurityGroupIngress(array $args = [])
 * @method \GuzzleHttp\Promise\Promise revokeDBSecurityGroupIngressAsync(array $args = [])
 * @method \Aws\Result addRoleToDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise addRoleToDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result addRoleToDBInstance(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise addRoleToDBInstanceAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result applyPendingMaintenanceAction(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise applyPendingMaintenanceActionAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result backtrackDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise backtrackDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result cancelExportTask(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise cancelExportTaskAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result copyDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise copyDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result copyDBClusterSnapshot(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise copyDBClusterSnapshotAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createBlueGreenDeployment(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createBlueGreenDeploymentAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createCustomDBEngineVersion(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createCustomDBEngineVersionAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createDBClusterEndpoint(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createDBClusterEndpointAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createDBClusterSnapshot(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createDBClusterSnapshotAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createDBProxy(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createDBProxyAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createDBProxyEndpoint(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createDBProxyEndpointAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result createGlobalCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise createGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteBlueGreenDeployment(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteBlueGreenDeploymentAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteCustomDBEngineVersion(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteCustomDBEngineVersionAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteDBClusterEndpoint(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteDBClusterEndpointAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteDBClusterSnapshot(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteDBClusterSnapshotAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteDBInstanceAutomatedBackup(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteDBInstanceAutomatedBackupAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteDBProxy(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteDBProxyAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteDBProxyEndpoint(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteDBProxyEndpointAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deleteGlobalCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deleteGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result deregisterDBProxyTargets(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise deregisterDBProxyTargetsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeAccountAttributes(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeAccountAttributesAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeBlueGreenDeployments(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeBlueGreenDeploymentsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeCertificates(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeCertificatesAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBClusterBacktracks(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBClusterBacktracksAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBClusterEndpoints(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBClusterEndpointsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBClusterParameterGroups(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBClusterParameterGroupsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBClusterParameters(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBClusterParametersAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBClusterSnapshotAttributes(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotAttributesAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBClusterSnapshots(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBClusters(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBClustersAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBInstanceAutomatedBackups(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBInstanceAutomatedBackupsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBProxies(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBProxiesAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBProxyEndpoints(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBProxyEndpointsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBProxyTargetGroups(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBProxyTargetGroupsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBProxyTargets(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBProxyTargetsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeDBSnapshotAttributes(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeDBSnapshotAttributesAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeEngineDefaultClusterParameters(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeEngineDefaultClusterParametersAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeExportTasks(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeExportTasksAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeGlobalClusters(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeGlobalClustersAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describePendingMaintenanceActions(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describePendingMaintenanceActionsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeSourceRegions(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeSourceRegionsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result describeValidDBInstanceModifications(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise describeValidDBInstanceModificationsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result failoverDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise failoverDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result failoverGlobalCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise failoverGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyActivityStream(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyActivityStreamAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyCertificates(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyCertificatesAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyCurrentDBClusterCapacity(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyCurrentDBClusterCapacityAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyCustomDBEngineVersion(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyCustomDBEngineVersionAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBClusterEndpoint(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBClusterEndpointAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBClusterSnapshotAttribute(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBClusterSnapshotAttributeAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBProxy(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBProxyAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBProxyEndpoint(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBProxyEndpointAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBProxyTargetGroup(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBProxyTargetGroupAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBSnapshot(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBSnapshotAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyDBSnapshotAttribute(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyDBSnapshotAttributeAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result modifyGlobalCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise modifyGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result promoteReadReplicaDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise promoteReadReplicaDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result rebootDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise rebootDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result registerDBProxyTargets(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise registerDBProxyTargetsAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result removeFromGlobalCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise removeFromGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result removeRoleFromDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise removeRoleFromDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result removeRoleFromDBInstance(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise removeRoleFromDBInstanceAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result resetDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise resetDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result restoreDBClusterFromS3(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise restoreDBClusterFromS3Async(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result restoreDBClusterFromSnapshot(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise restoreDBClusterFromSnapshotAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result restoreDBClusterToPointInTime(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise restoreDBClusterToPointInTimeAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result restoreDBInstanceFromS3(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise restoreDBInstanceFromS3Async(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result startActivityStream(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise startActivityStreamAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result startDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise startDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result startDBInstance(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise startDBInstanceAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result startDBInstanceAutomatedBackupsReplication(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise startDBInstanceAutomatedBackupsReplicationAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result startExportTask(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise startExportTaskAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result stopActivityStream(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise stopActivityStreamAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result stopDBCluster(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise stopDBClusterAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result stopDBInstance(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise stopDBInstanceAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result stopDBInstanceAutomatedBackupsReplication(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise stopDBInstanceAutomatedBackupsReplicationAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result switchoverBlueGreenDeployment(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise switchoverBlueGreenDeploymentAsync(array $args = []) (supported in versions 2014-10-31)
 * @method \Aws\Result switchoverReadReplica(array $args = []) (supported in versions 2014-10-31)
 * @method \GuzzleHttp\Promise\Promise switchoverReadReplicaAsync(array $args = []) (supported in versions 2014-10-31)
 */
class RdsClient extends AwsClient
{
    public function __construct(array $args)
    {
        $args['with_resolved'] = function (array $args) {
            $this->getHandlerList()->appendInit(
                PresignUrlMiddleware::wrap(
                    $this,
                    $args['endpoint_provider'],
                    [
                        'operations' => [
                            'CopyDBSnapshot',
                            'CreateDBInstanceReadReplica',
                            'CopyDBClusterSnapshot',
                            'CreateDBCluster',
                            'StartDBInstanceAutomatedBackupsReplication'
                        ],
                        'service' => 'rds',
                        'presign_param' => 'PreSignedUrl',
                        'require_different_region' => true,
                    ]
                ),
                'rds.presigner'
            );
        };

        parent::__construct($args);
    }

    /**
     * @internal
     * @codeCoverageIgnore
     */
    public static function applyDocFilters(array $api, array $docs)
    {
        // Add the SourceRegion parameter
        $docs['shapes']['SourceRegion']['base'] = 'A required parameter that indicates '
            . 'the region that the DB snapshot will be copied from.';
        $api['shapes']['SourceRegion'] = ['type' => 'string'];
        $api['shapes']['CopyDBSnapshotMessage']['members']['SourceRegion'] = ['shape' => 'SourceRegion'];
        $api['shapes']['CreateDBInstanceReadReplicaMessage']['members']['SourceRegion'] = ['shape' => 'SourceRegion'];

        // Add the DestinationRegion parameter
        $docs['shapes']['DestinationRegion']['base']
            = '<div class="alert alert-info">The SDK will populate this '
            . 'parameter on your behalf using the configured region value of '
            . 'the client.</div>';
        $api['shapes']['DestinationRegion'] = ['type' => 'string'];
        $api['shapes']['CopyDBSnapshotMessage']['members']['DestinationRegion'] = ['shape' => 'DestinationRegion'];
        $api['shapes']['CreateDBInstanceReadReplicaMessage']['members']['DestinationRegion'] = ['shape' => 'DestinationRegion'];

        // Several parameters in presign APIs are optional.
        $docs['shapes']['String']['refs']['CopyDBSnapshotMessage$PreSignedUrl']
            = '<div class="alert alert-info">The SDK will compute this value '
            . 'for you on your behalf.</div>';
        $docs['shapes']['String']['refs']['CopyDBSnapshotMessage$DestinationRegion']
            = '<div class="alert alert-info">The SDK will populate this '
            . 'parameter on your behalf using the configured region value of '
            . 'the client.</div>';

        // Several parameters in presign APIs are optional.
        $docs['shapes']['String']['refs']['CreateDBInstanceReadReplicaMessage$PreSignedUrl']
            = '<div class="alert alert-info">The SDK will compute this value '
            . 'for you on your behalf.</div>';
        $docs['shapes']['String']['refs']['CreateDBInstanceReadReplicaMessage$DestinationRegion']
            = '<div class="alert alert-info">The SDK will populate this '
            . 'parameter on your behalf using the configured region value of '
            . 'the client.</div>';

        if ($api['metadata']['apiVersion'] != '2014-09-01') {
            $api['shapes']['CopyDBClusterSnapshotMessage']['members']['SourceRegion'] = ['shape' => 'SourceRegion'];
            $api['shapes']['CreateDBClusterMessage']['members']['SourceRegion'] = ['shape' => 'SourceRegion'];

            $api['shapes']['CopyDBClusterSnapshotMessage']['members']['DestinationRegion'] = ['shape' => 'DestinationRegion'];
            $api['shapes']['CreateDBClusterMessage']['members']['DestinationRegion'] = ['shape' => 'DestinationRegion'];

            // Several parameters in presign APIs are optional.
            $docs['shapes']['String']['refs']['CopyDBClusterSnapshotMessage$PreSignedUrl']
                = '<div class="alert alert-info">The SDK will compute this value '
                . 'for you on your behalf.</div>';
            $docs['shapes']['String']['refs']['CopyDBClusterSnapshotMessage$DestinationRegion']
                = '<div class="alert alert-info">The SDK will populate this '
                . 'parameter on your behalf using the configured region value of '
                . 'the client.</div>';

            // Several parameters in presign APIs are optional.
            $docs['shapes']['String']['refs']['CreateDBClusterMessage$PreSignedUrl']
                = '<div class="alert alert-info">The SDK will compute this value '
                . 'for you on your behalf.</div>';
            $docs['shapes']['String']['refs']['CreateDBClusterMessage$DestinationRegion']
                = '<div class="alert alert-info">The SDK will populate this '
                . 'parameter on your behalf using the configured region value of '
                . 'the client.</div>';
        }

        return [
            new Service($api, ApiProvider::defaultProvider()),
            new DocModel($docs)
        ];
    }
}


<?php
namespace Aws\Rds\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the Amazon Relational Database Service.
 */
class RdsException extends AwsException {}


<?php
namespace Aws\RDSDataService;

use Aws\AwsClient;

/**
 * This client is used to interact with the **AWS RDS DataService** service.
 * @method \Aws\Result batchExecuteStatement(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchExecuteStatementAsync(array $args = [])
 * @method \Aws\Result beginTransaction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise beginTransactionAsync(array $args = [])
 * @method \Aws\Result commitTransaction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise commitTransactionAsync(array $args = [])
 * @method \Aws\Result executeSql(array $args = [])
 * @method \GuzzleHttp\Promise\Promise executeSqlAsync(array $args = [])
 * @method \Aws\Result executeStatement(array $args = [])
 * @method \GuzzleHttp\Promise\Promise executeStatementAsync(array $args = [])
 * @method \Aws\Result rollbackTransaction(array $args = [])
 * @method \GuzzleHttp\Promise\Promise rollbackTransactionAsync(array $args = [])
 */
class RDSDataServiceClient extends AwsClient {}


<?php
namespace Aws\RDSDataService\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **AWS RDS DataService** service.
 */
class RDSDataServiceException extends AwsException {}


<?php
namespace Aws\RecycleBin;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon Recycle Bin** service.
 * @method \Aws\Result createRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createRuleAsync(array $args = [])
 * @method \Aws\Result deleteRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteRuleAsync(array $args = [])
 * @method \Aws\Result getRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getRuleAsync(array $args = [])
 * @method \Aws\Result listRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRulesAsync(array $args = [])
 * @method \Aws\Result listTagsForResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
 * @method \Aws\Result lockRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise lockRuleAsync(array $args = [])
 * @method \Aws\Result tagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
 * @method \Aws\Result unlockRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise unlockRuleAsync(array $args = [])
 * @method \Aws\Result untagResource(array $args = [])
 * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
 * @method \Aws\Result updateRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateRuleAsync(array $args = [])
 */
class RecycleBinClient extends AwsClient {}


<?php
namespace Aws\RecycleBin\Exception;

use Aws\Exception\AwsException;

/**
 * Represents an error interacting with the **Amazon Recycle Bin** service.
 */
class RecycleBinException extends AwsException {}