updated-packages

This commit is contained in:
RafficMohammed
2023-01-08 00:13:22 +05:30
parent 3ff7df7487
commit da241bacb6
12659 changed files with 563377 additions and 510538 deletions

View File

@@ -9,8 +9,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result createCertificateAuthorityAuditReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCertificateAuthorityAuditReportAsync(array $args = [])
* @method \Aws\Result createPermission(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPermissionAsync(array $args = [])
* @method \Aws\Result deleteCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result deletePermission(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePermissionAsync(array $args = [])
* @method \Aws\Result deletePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePolicyAsync(array $args = [])
* @method \Aws\Result describeCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result describeCertificateAuthorityAuditReport(array $args = [])
@@ -21,14 +27,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getCertificateAuthorityCertificateAsync(array $args = [])
* @method \Aws\Result getCertificateAuthorityCsr(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCertificateAuthorityCsrAsync(array $args = [])
* @method \Aws\Result getPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPolicyAsync(array $args = [])
* @method \Aws\Result importCertificateAuthorityCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise importCertificateAuthorityCertificateAsync(array $args = [])
* @method \Aws\Result issueCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise issueCertificateAsync(array $args = [])
* @method \Aws\Result listCertificateAuthorities(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCertificateAuthoritiesAsync(array $args = [])
* @method \Aws\Result listPermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPermissionsAsync(array $args = [])
* @method \Aws\Result listTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
* @method \Aws\Result putPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putPolicyAsync(array $args = [])
* @method \Aws\Result restoreCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise restoreCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result revokeCertificate(array $args = [])

View File

@@ -0,0 +1,21 @@
<?php
namespace Aws\ARCZonalShift;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS ARC - Zonal Shift** service.
* @method \Aws\Result cancelZonalShift(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelZonalShiftAsync(array $args = [])
* @method \Aws\Result getManagedResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise getManagedResourceAsync(array $args = [])
* @method \Aws\Result listManagedResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listManagedResourcesAsync(array $args = [])
* @method \Aws\Result listZonalShifts(array $args = [])
* @method \GuzzleHttp\Promise\Promise listZonalShiftsAsync(array $args = [])
* @method \Aws\Result startZonalShift(array $args = [])
* @method \GuzzleHttp\Promise\Promise startZonalShiftAsync(array $args = [])
* @method \Aws\Result updateZonalShift(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateZonalShiftAsync(array $args = [])
*/
class ARCZonalShiftClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\ARCZonalShift\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS ARC - Zonal Shift** service.
*/
class ARCZonalShiftException extends AwsException {}

View File

@@ -0,0 +1,157 @@
<?php
namespace Aws;
use GuzzleHttp\Promise;
/**
* A configuration provider is a function that returns a promise that is
* fulfilled with a configuration object. This class provides base functionality
* usable by specific configuration provider implementations
*/
abstract class AbstractConfigurationProvider
{
const ENV_PROFILE = 'AWS_PROFILE';
const ENV_CONFIG_FILE = 'AWS_CONFIG_FILE';
public static $cacheKey;
protected static $interfaceClass;
protected static $exceptionClass;
/**
* Wraps a config provider and saves provided configuration in an
* instance of Aws\CacheInterface. Forwards calls when no config found
* in cache and updates cache with the results.
*
* @param callable $provider Configuration provider function to wrap
* @param CacheInterface $cache Cache to store configuration
* @param string|null $cacheKey (optional) Cache key to use
*
* @return callable
*/
public static function cache(
callable $provider,
CacheInterface $cache,
$cacheKey = null
) {
$cacheKey = $cacheKey ?: static::$cacheKey;
return function () use ($provider, $cache, $cacheKey) {
$found = $cache->get($cacheKey);
if ($found instanceof static::$interfaceClass) {
return Promise\Create::promiseFor($found);
}
return $provider()
->then(function ($config) use (
$cache,
$cacheKey
) {
$cache->set($cacheKey, $config);
return $config;
});
};
}
/**
* Creates an aggregate configuration provider that invokes the provided
* variadic providers one after the other until a provider returns
* configuration.
*
* @return callable
*/
public static function chain()
{
$links = func_get_args();
if (empty($links)) {
throw new \InvalidArgumentException('No providers in chain');
}
return function () use ($links) {
/** @var callable $parent */
$parent = array_shift($links);
$promise = $parent();
while ($next = array_shift($links)) {
$promise = $promise->otherwise($next);
}
return $promise;
};
}
/**
* Gets the environment's HOME directory if available.
*
* @return null|string
*/
protected static function getHomeDir()
{
// On Linux/Unix-like systems, use the HOME environment variable
if ($homeDir = getenv('HOME')) {
return $homeDir;
}
// Get the HOMEDRIVE and HOMEPATH values for Windows hosts
$homeDrive = getenv('HOMEDRIVE');
$homePath = getenv('HOMEPATH');
return ($homeDrive && $homePath) ? $homeDrive . $homePath : null;
}
/**
* Gets default config file location from environment, falling back to aws
* default location
*
* @return string
*/
protected static function getDefaultConfigFilename()
{
if ($filename = getenv(self::ENV_CONFIG_FILE)) {
return $filename;
}
return self::getHomeDir() . '/.aws/config';
}
/**
* Wraps a config provider and caches previously provided configuration.
*
* @param callable $provider Config provider function to wrap.
*
* @return callable
*/
public static function memoize(callable $provider)
{
return function () use ($provider) {
static $result;
static $isConstant;
// Constant config will be returned constantly.
if ($isConstant) {
return $result;
}
// Create the initial promise that will be used as the cached value
if (null === $result) {
$result = $provider();
}
// Return config and set flag that provider is already set
return $result
->then(function ($config) use (&$isConstant) {
$isConstant = true;
return $config;
});
};
}
/**
* Reject promise with standardized exception.
*
* @param $msg
* @return Promise\RejectedPromise
*/
protected static function reject($msg)
{
$exceptionClass = static::$exceptionClass;
return new Promise\RejectedPromise(new $exceptionClass($msg));
}
}

View File

@@ -0,0 +1,65 @@
<?php
namespace Aws\AccessAnalyzer;
use Aws\AwsClient;
/**
* This client is used to interact with the **Access Analyzer** service.
* @method \Aws\Result applyArchiveRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise applyArchiveRuleAsync(array $args = [])
* @method \Aws\Result cancelPolicyGeneration(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelPolicyGenerationAsync(array $args = [])
* @method \Aws\Result createAccessPreview(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAccessPreviewAsync(array $args = [])
* @method \Aws\Result createAnalyzer(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAnalyzerAsync(array $args = [])
* @method \Aws\Result createArchiveRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise createArchiveRuleAsync(array $args = [])
* @method \Aws\Result deleteAnalyzer(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAnalyzerAsync(array $args = [])
* @method \Aws\Result deleteArchiveRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteArchiveRuleAsync(array $args = [])
* @method \Aws\Result getAccessPreview(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccessPreviewAsync(array $args = [])
* @method \Aws\Result getAnalyzedResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAnalyzedResourceAsync(array $args = [])
* @method \Aws\Result getAnalyzer(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAnalyzerAsync(array $args = [])
* @method \Aws\Result getArchiveRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise getArchiveRuleAsync(array $args = [])
* @method \Aws\Result getFinding(array $args = [])
* @method \GuzzleHttp\Promise\Promise getFindingAsync(array $args = [])
* @method \Aws\Result getGeneratedPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGeneratedPolicyAsync(array $args = [])
* @method \Aws\Result listAccessPreviewFindings(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAccessPreviewFindingsAsync(array $args = [])
* @method \Aws\Result listAccessPreviews(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAccessPreviewsAsync(array $args = [])
* @method \Aws\Result listAnalyzedResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAnalyzedResourcesAsync(array $args = [])
* @method \Aws\Result listAnalyzers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAnalyzersAsync(array $args = [])
* @method \Aws\Result listArchiveRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise listArchiveRulesAsync(array $args = [])
* @method \Aws\Result listFindings(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFindingsAsync(array $args = [])
* @method \Aws\Result listPolicyGenerations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPolicyGenerationsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result startPolicyGeneration(array $args = [])
* @method \GuzzleHttp\Promise\Promise startPolicyGenerationAsync(array $args = [])
* @method \Aws\Result startResourceScan(array $args = [])
* @method \GuzzleHttp\Promise\Promise startResourceScanAsync(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 updateArchiveRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateArchiveRuleAsync(array $args = [])
* @method \Aws\Result updateFindings(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFindingsAsync(array $args = [])
* @method \Aws\Result validatePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise validatePolicyAsync(array $args = [])
*/
class AccessAnalyzerClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AccessAnalyzer\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **Access Analyzer** service.
*/
class AccessAnalyzerException extends AwsException {}

View File

@@ -0,0 +1,19 @@
<?php
namespace Aws\Account;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Account** service.
* @method \Aws\Result deleteAlternateContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAlternateContactAsync(array $args = [])
* @method \Aws\Result getAlternateContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAlternateContactAsync(array $args = [])
* @method \Aws\Result getContactInformation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getContactInformationAsync(array $args = [])
* @method \Aws\Result putAlternateContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAlternateContactAsync(array $args = [])
* @method \Aws\Result putContactInformation(array $args = [])
* @method \GuzzleHttp\Promise\Promise putContactInformationAsync(array $args = [])
*/
class AccountClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\Account\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Account** service.
*/
class AccountException extends AwsException {}

View File

@@ -14,6 +14,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeCertificateAsync(array $args = [])
* @method \Aws\Result exportCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportCertificateAsync(array $args = [])
* @method \Aws\Result getAccountConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountConfigurationAsync(array $args = [])
* @method \Aws\Result getCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCertificateAsync(array $args = [])
* @method \Aws\Result importCertificate(array $args = [])
@@ -22,8 +24,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listCertificatesAsync(array $args = [])
* @method \Aws\Result listTagsForCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForCertificateAsync(array $args = [])
* @method \Aws\Result putAccountConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAccountConfigurationAsync(array $args = [])
* @method \Aws\Result removeTagsFromCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeTagsFromCertificateAsync(array $args = [])
* @method \Aws\Result renewCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise renewCertificateAsync(array $args = [])
* @method \Aws\Result requestCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise requestCertificateAsync(array $args = [])
* @method \Aws\Result resendValidationEmail(array $args = [])

View File

@@ -9,18 +9,28 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise approveSkillAsync(array $args = [])
* @method \Aws\Result associateContactWithAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateContactWithAddressBookAsync(array $args = [])
* @method \Aws\Result associateDeviceWithNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateDeviceWithNetworkProfileAsync(array $args = [])
* @method \Aws\Result associateDeviceWithRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateDeviceWithRoomAsync(array $args = [])
* @method \Aws\Result associateSkillGroupWithRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateSkillGroupWithRoomAsync(array $args = [])
* @method \Aws\Result associateSkillWithSkillGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateSkillWithSkillGroupAsync(array $args = [])
* @method \Aws\Result associateSkillWithUsers(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateSkillWithUsersAsync(array $args = [])
* @method \Aws\Result createAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAddressBookAsync(array $args = [])
* @method \Aws\Result createBusinessReportSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBusinessReportScheduleAsync(array $args = [])
* @method \Aws\Result createConferenceProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise createConferenceProviderAsync(array $args = [])
* @method \Aws\Result createContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise createContactAsync(array $args = [])
* @method \Aws\Result createGatewayGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGatewayGroupAsync(array $args = [])
* @method \Aws\Result createNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNetworkProfileAsync(array $args = [])
* @method \Aws\Result createProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createProfileAsync(array $args = [])
* @method \Aws\Result createRoom(array $args = [])
@@ -31,12 +41,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = [])
* @method \Aws\Result deleteAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAddressBookAsync(array $args = [])
* @method \Aws\Result deleteBusinessReportSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBusinessReportScheduleAsync(array $args = [])
* @method \Aws\Result deleteConferenceProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConferenceProviderAsync(array $args = [])
* @method \Aws\Result deleteContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteContactAsync(array $args = [])
* @method \Aws\Result deleteDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeviceAsync(array $args = [])
* @method \Aws\Result deleteDeviceUsageData(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeviceUsageDataAsync(array $args = [])
* @method \Aws\Result deleteGatewayGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGatewayGroupAsync(array $args = [])
* @method \Aws\Result deleteNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNetworkProfileAsync(array $args = [])
* @method \Aws\Result deleteProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteProfileAsync(array $args = [])
* @method \Aws\Result deleteRoom(array $args = [])
@@ -55,6 +73,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise disassociateDeviceFromRoomAsync(array $args = [])
* @method \Aws\Result disassociateSkillFromSkillGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateSkillFromSkillGroupAsync(array $args = [])
* @method \Aws\Result disassociateSkillFromUsers(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateSkillFromUsersAsync(array $args = [])
* @method \Aws\Result disassociateSkillGroupFromRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateSkillGroupFromRoomAsync(array $args = [])
* @method \Aws\Result forgetSmartHomeAppliances(array $args = [])
@@ -69,6 +89,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getContactAsync(array $args = [])
* @method \Aws\Result getDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = [])
* @method \Aws\Result getGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayAsync(array $args = [])
* @method \Aws\Result getGatewayGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayGroupAsync(array $args = [])
* @method \Aws\Result getInvitationConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInvitationConfigurationAsync(array $args = [])
* @method \Aws\Result getNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getNetworkProfileAsync(array $args = [])
* @method \Aws\Result getProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getProfileAsync(array $args = [])
* @method \Aws\Result getRoom(array $args = [])
@@ -77,10 +105,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getRoomSkillParameterAsync(array $args = [])
* @method \Aws\Result getSkillGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSkillGroupAsync(array $args = [])
* @method \Aws\Result listBusinessReportSchedules(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBusinessReportSchedulesAsync(array $args = [])
* @method \Aws\Result listConferenceProviders(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConferenceProvidersAsync(array $args = [])
* @method \Aws\Result listDeviceEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDeviceEventsAsync(array $args = [])
* @method \Aws\Result listGatewayGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGatewayGroupsAsync(array $args = [])
* @method \Aws\Result listGateways(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGatewaysAsync(array $args = [])
* @method \Aws\Result listSkills(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSkillsAsync(array $args = [])
* @method \Aws\Result listSkillsStoreCategories(array $args = [])
@@ -93,6 +127,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
* @method \Aws\Result putConferencePreference(array $args = [])
* @method \GuzzleHttp\Promise\Promise putConferencePreferenceAsync(array $args = [])
* @method \Aws\Result putInvitationConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putInvitationConfigurationAsync(array $args = [])
* @method \Aws\Result putRoomSkillParameter(array $args = [])
* @method \GuzzleHttp\Promise\Promise putRoomSkillParameterAsync(array $args = [])
* @method \Aws\Result putSkillAuthorization(array $args = [])
@@ -111,6 +147,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise searchContactsAsync(array $args = [])
* @method \Aws\Result searchDevices(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchDevicesAsync(array $args = [])
* @method \Aws\Result searchNetworkProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchNetworkProfilesAsync(array $args = [])
* @method \Aws\Result searchProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchProfilesAsync(array $args = [])
* @method \Aws\Result searchRooms(array $args = [])
@@ -119,6 +157,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise searchSkillGroupsAsync(array $args = [])
* @method \Aws\Result searchUsers(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchUsersAsync(array $args = [])
* @method \Aws\Result sendAnnouncement(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendAnnouncementAsync(array $args = [])
* @method \Aws\Result sendInvitation(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendInvitationAsync(array $args = [])
* @method \Aws\Result startDeviceSync(array $args = [])
@@ -131,12 +171,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAddressBookAsync(array $args = [])
* @method \Aws\Result updateBusinessReportSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBusinessReportScheduleAsync(array $args = [])
* @method \Aws\Result updateConferenceProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConferenceProviderAsync(array $args = [])
* @method \Aws\Result updateContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateContactAsync(array $args = [])
* @method \Aws\Result updateDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDeviceAsync(array $args = [])
* @method \Aws\Result updateGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayAsync(array $args = [])
* @method \Aws\Result updateGatewayGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayGroupAsync(array $args = [])
* @method \Aws\Result updateNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNetworkProfileAsync(array $args = [])
* @method \Aws\Result updateProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProfileAsync(array $args = [])
* @method \Aws\Result updateRoom(array $args = [])

View File

@@ -7,43 +7,77 @@ use Aws\AwsClient;
* This client is used to interact with the **AWS Amplify** service.
* @method \Aws\Result createApp(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAppAsync(array $args = [])
* @method \Aws\Result createBackendEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackendEnvironmentAsync(array $args = [])
* @method \Aws\Result createBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBranchAsync(array $args = [])
* @method \Aws\Result createDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = [])
* @method \Aws\Result createDomainAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDomainAssociationAsync(array $args = [])
* @method \Aws\Result createWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise createWebhookAsync(array $args = [])
* @method \Aws\Result deleteApp(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAppAsync(array $args = [])
* @method \Aws\Result deleteBackendEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackendEnvironmentAsync(array $args = [])
* @method \Aws\Result deleteBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBranchAsync(array $args = [])
* @method \Aws\Result deleteDomainAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDomainAssociationAsync(array $args = [])
* @method \Aws\Result deleteJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteJobAsync(array $args = [])
* @method \Aws\Result deleteWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteWebhookAsync(array $args = [])
* @method \Aws\Result generateAccessLogs(array $args = [])
* @method \GuzzleHttp\Promise\Promise generateAccessLogsAsync(array $args = [])
* @method \Aws\Result getApp(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAppAsync(array $args = [])
* @method \Aws\Result getArtifactUrl(array $args = [])
* @method \GuzzleHttp\Promise\Promise getArtifactUrlAsync(array $args = [])
* @method \Aws\Result getBackendEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackendEnvironmentAsync(array $args = [])
* @method \Aws\Result getBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBranchAsync(array $args = [])
* @method \Aws\Result getDomainAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDomainAssociationAsync(array $args = [])
* @method \Aws\Result getJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = [])
* @method \Aws\Result getWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise getWebhookAsync(array $args = [])
* @method \Aws\Result listApps(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAppsAsync(array $args = [])
* @method \Aws\Result listArtifacts(array $args = [])
* @method \GuzzleHttp\Promise\Promise listArtifactsAsync(array $args = [])
* @method \Aws\Result listBackendEnvironments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackendEnvironmentsAsync(array $args = [])
* @method \Aws\Result listBranches(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBranchesAsync(array $args = [])
* @method \Aws\Result listDomainAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDomainAssociationsAsync(array $args = [])
* @method \Aws\Result listJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result listWebhooks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listWebhooksAsync(array $args = [])
* @method \Aws\Result startDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDeploymentAsync(array $args = [])
* @method \Aws\Result startJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startJobAsync(array $args = [])
* @method \Aws\Result stopJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopJobAsync(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 updateApp(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAppAsync(array $args = [])
* @method \Aws\Result updateBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBranchAsync(array $args = [])
* @method \Aws\Result updateDomainAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDomainAssociationAsync(array $args = [])
* @method \Aws\Result updateWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateWebhookAsync(array $args = [])
*/
class AmplifyClient extends AwsClient {}

View File

@@ -0,0 +1,71 @@
<?php
namespace Aws\AmplifyBackend;
use Aws\AwsClient;
/**
* This client is used to interact with the **AmplifyBackend** service.
* @method \Aws\Result cloneBackend(array $args = [])
* @method \GuzzleHttp\Promise\Promise cloneBackendAsync(array $args = [])
* @method \Aws\Result createBackend(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackendAsync(array $args = [])
* @method \Aws\Result createBackendAPI(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackendAPIAsync(array $args = [])
* @method \Aws\Result createBackendAuth(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackendAuthAsync(array $args = [])
* @method \Aws\Result createBackendConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackendConfigAsync(array $args = [])
* @method \Aws\Result createBackendStorage(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackendStorageAsync(array $args = [])
* @method \Aws\Result createToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTokenAsync(array $args = [])
* @method \Aws\Result deleteBackend(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackendAsync(array $args = [])
* @method \Aws\Result deleteBackendAPI(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackendAPIAsync(array $args = [])
* @method \Aws\Result deleteBackendAuth(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackendAuthAsync(array $args = [])
* @method \Aws\Result deleteBackendStorage(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackendStorageAsync(array $args = [])
* @method \Aws\Result deleteToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTokenAsync(array $args = [])
* @method \Aws\Result generateBackendAPIModels(array $args = [])
* @method \GuzzleHttp\Promise\Promise generateBackendAPIModelsAsync(array $args = [])
* @method \Aws\Result getBackend(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackendAsync(array $args = [])
* @method \Aws\Result getBackendAPI(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackendAPIAsync(array $args = [])
* @method \Aws\Result getBackendAPIModels(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackendAPIModelsAsync(array $args = [])
* @method \Aws\Result getBackendAuth(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackendAuthAsync(array $args = [])
* @method \Aws\Result getBackendJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackendJobAsync(array $args = [])
* @method \Aws\Result getBackendStorage(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackendStorageAsync(array $args = [])
* @method \Aws\Result getToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTokenAsync(array $args = [])
* @method \Aws\Result importBackendAuth(array $args = [])
* @method \GuzzleHttp\Promise\Promise importBackendAuthAsync(array $args = [])
* @method \Aws\Result importBackendStorage(array $args = [])
* @method \GuzzleHttp\Promise\Promise importBackendStorageAsync(array $args = [])
* @method \Aws\Result listBackendJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackendJobsAsync(array $args = [])
* @method \Aws\Result listS3Buckets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listS3BucketsAsync(array $args = [])
* @method \Aws\Result removeAllBackends(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeAllBackendsAsync(array $args = [])
* @method \Aws\Result removeBackendConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeBackendConfigAsync(array $args = [])
* @method \Aws\Result updateBackendAPI(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBackendAPIAsync(array $args = [])
* @method \Aws\Result updateBackendAuth(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBackendAuthAsync(array $args = [])
* @method \Aws\Result updateBackendConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBackendConfigAsync(array $args = [])
* @method \Aws\Result updateBackendJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBackendJobAsync(array $args = [])
* @method \Aws\Result updateBackendStorage(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBackendStorageAsync(array $args = [])
*/
class AmplifyBackendClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AmplifyBackend\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AmplifyBackend** service.
*/
class AmplifyBackendException extends AwsException {}

View File

@@ -0,0 +1,53 @@
<?php
namespace Aws\AmplifyUIBuilder;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Amplify UI Builder** service.
* @method \Aws\Result createComponent(array $args = [])
* @method \GuzzleHttp\Promise\Promise createComponentAsync(array $args = [])
* @method \Aws\Result createForm(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFormAsync(array $args = [])
* @method \Aws\Result createTheme(array $args = [])
* @method \GuzzleHttp\Promise\Promise createThemeAsync(array $args = [])
* @method \Aws\Result deleteComponent(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteComponentAsync(array $args = [])
* @method \Aws\Result deleteForm(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFormAsync(array $args = [])
* @method \Aws\Result deleteTheme(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteThemeAsync(array $args = [])
* @method \Aws\Result exchangeCodeForToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise exchangeCodeForTokenAsync(array $args = [])
* @method \Aws\Result exportComponents(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportComponentsAsync(array $args = [])
* @method \Aws\Result exportForms(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportFormsAsync(array $args = [])
* @method \Aws\Result exportThemes(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportThemesAsync(array $args = [])
* @method \Aws\Result getComponent(array $args = [])
* @method \GuzzleHttp\Promise\Promise getComponentAsync(array $args = [])
* @method \Aws\Result getForm(array $args = [])
* @method \GuzzleHttp\Promise\Promise getFormAsync(array $args = [])
* @method \Aws\Result getMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMetadataAsync(array $args = [])
* @method \Aws\Result getTheme(array $args = [])
* @method \GuzzleHttp\Promise\Promise getThemeAsync(array $args = [])
* @method \Aws\Result listComponents(array $args = [])
* @method \GuzzleHttp\Promise\Promise listComponentsAsync(array $args = [])
* @method \Aws\Result listForms(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFormsAsync(array $args = [])
* @method \Aws\Result listThemes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listThemesAsync(array $args = [])
* @method \Aws\Result putMetadataFlag(array $args = [])
* @method \GuzzleHttp\Promise\Promise putMetadataFlagAsync(array $args = [])
* @method \Aws\Result refreshToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise refreshTokenAsync(array $args = [])
* @method \Aws\Result updateComponent(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateComponentAsync(array $args = [])
* @method \Aws\Result updateForm(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFormAsync(array $args = [])
* @method \Aws\Result updateTheme(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateThemeAsync(array $args = [])
*/
class AmplifyUIBuilderClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AmplifyUIBuilder\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Amplify UI Builder** service.
*/
class AmplifyUIBuilderException extends AwsException {}

View File

@@ -12,6 +12,9 @@ abstract class AbstractModel implements \ArrayAccess
/** @var ShapeMap */
protected $shapeMap;
/** @var array */
protected $contextParam;
/**
* @param array $definition Service description
* @param ShapeMap $shapeMap Shapemap used for creating shapes
@@ -20,6 +23,9 @@ abstract class AbstractModel implements \ArrayAccess
{
$this->definition = $definition;
$this->shapeMap = $shapeMap;
if (isset($definition['contextParam'])) {
$this->contextParam = $definition['contextParam'];
}
}
public function toArray()
@@ -27,22 +33,38 @@ abstract class AbstractModel implements \ArrayAccess
return $this->definition;
}
/**
* @return mixed|null
*/
#[\ReturnTypeWillChange]
public function offsetGet($offset)
{
return isset($this->definition[$offset])
? $this->definition[$offset] : null;
}
/**
* @return void
*/
#[\ReturnTypeWillChange]
public function offsetSet($offset, $value)
{
$this->definition[$offset] = $value;
}
/**
* @return bool
*/
#[\ReturnTypeWillChange]
public function offsetExists($offset)
{
return isset($this->definition[$offset]);
}
/**
* @return void
*/
#[\ReturnTypeWillChange]
public function offsetUnset($offset)
{
unset($this->definition[$offset]);

View File

@@ -165,7 +165,7 @@ class ApiProvider
}
/**
* Execute the the provider.
* Execute the provider.
*
* @param string $type Type of data ('api', 'waiter', 'paginator').
* @param string $service Service name.

View File

@@ -1,6 +1,12 @@
<?php
namespace Aws\Api;
use Aws\Api\Parser\Exception\ParserException;
use DateTime;
use DateTimeZone;
use Exception;
/**
* DateTime overrides that make DateTime work more seamlessly as a string,
* with JSON documents, and with JMESPath.
@@ -9,14 +15,90 @@ class DateTimeResult extends \DateTime implements \JsonSerializable
{
/**
* Create a new DateTimeResult from a unix timestamp.
*
* @param $unixTimestamp
* The Unix epoch (or Unix time or POSIX time or Unix
* timestamp) is the number of seconds that have elapsed since
* January 1, 1970 (midnight UTC/GMT).
*
* @return DateTimeResult
* @throws Exception
*/
public static function fromEpoch($unixTimestamp)
{
return new self(gmdate('c', $unixTimestamp));
if (!is_numeric($unixTimestamp)) {
throw new ParserException('Invalid timestamp value passed to DateTimeResult::fromEpoch');
}
// PHP 5.5 does not support sub-second precision
if (\PHP_VERSION_ID < 56000) {
return new self(gmdate('c', $unixTimestamp));
}
$decimalSeparator = isset(localeconv()['decimal_point']) ? localeconv()['decimal_point'] : ".";
$formatString = "U" . $decimalSeparator . "u";
$dateTime = DateTime::createFromFormat(
$formatString,
sprintf('%0.6f', $unixTimestamp),
new DateTimeZone('UTC')
);
if (false === $dateTime) {
throw new ParserException('Invalid timestamp value passed to DateTimeResult::fromEpoch');
}
return new self(
$dateTime->format('Y-m-d H:i:s.u'),
new DateTimeZone('UTC')
);
}
/**
* @return DateTimeResult
*/
public static function fromISO8601($iso8601Timestamp)
{
if (is_numeric($iso8601Timestamp) || !is_string($iso8601Timestamp)) {
throw new ParserException('Invalid timestamp value passed to DateTimeResult::fromISO8601');
}
return new DateTimeResult($iso8601Timestamp);
}
/**
* Create a new DateTimeResult from an unknown timestamp.
*
* @return DateTimeResult
* @throws Exception
*/
public static function fromTimestamp($timestamp, $expectedFormat = null)
{
if (empty($timestamp)) {
return self::fromEpoch(0);
}
if (!(is_string($timestamp) || is_numeric($timestamp))) {
throw new ParserException('Invalid timestamp value passed to DateTimeResult::fromTimestamp');
}
try {
if ($expectedFormat == 'iso8601') {
try {
return self::fromISO8601($timestamp);
} catch (Exception $exception) {
return self::fromEpoch($timestamp);
}
} else if ($expectedFormat == 'unixTimestamp') {
try {
return self::fromEpoch($timestamp);
} catch (Exception $exception) {
return self::fromISO8601($timestamp);
}
} else if (\Aws\is_valid_epoch($timestamp)) {
return self::fromEpoch($timestamp);
}
return self::fromISO8601($timestamp);
} catch (Exception $exception) {
throw new ParserException('Invalid timestamp value passed to DateTimeResult::fromTimestamp');
}
}
/**
@@ -32,8 +114,9 @@ class DateTimeResult extends \DateTime implements \JsonSerializable
/**
* Serialize the date as an ISO 8601 date when serializing as JSON.
*
* @return mixed|string
* @return string
*/
#[\ReturnTypeWillChange]
public function jsonSerialize()
{
return (string) $this;

View File

@@ -109,7 +109,7 @@ class DocModel
return '';
}
$tidy = new \Tidy();
$tidy = new \tidy();
$tidy->parseString($content, [
'indent' => true,
'doctype' => 'omit',

View File

@@ -0,0 +1,95 @@
<?php
namespace Aws\Api\ErrorParser;
use Aws\Api\Parser\MetadataParserTrait;
use Aws\Api\Parser\PayloadParserTrait;
use Aws\Api\Service;
use Aws\Api\StructureShape;
use Aws\CommandInterface;
use Psr\Http\Message\ResponseInterface;
abstract class AbstractErrorParser
{
use MetadataParserTrait;
use PayloadParserTrait;
/**
* @var Service
*/
protected $api;
/**
* @param Service $api
*/
public function __construct(Service $api = null)
{
$this->api = $api;
}
abstract protected function payload(
ResponseInterface $response,
StructureShape $member
);
protected function extractPayload(
StructureShape $member,
ResponseInterface $response
) {
if ($member instanceof StructureShape) {
// Structure members parse top-level data into a specific key.
return $this->payload($response, $member);
} else {
// Streaming data is just the stream from the response body.
return $response->getBody();
}
}
protected function populateShape(
array &$data,
ResponseInterface $response,
CommandInterface $command = null
) {
$data['body'] = [];
if (!empty($command) && !empty($this->api)) {
// If modeled error code is indicated, check for known error shape
if (!empty($data['code'])) {
$errors = $this->api->getOperation($command->getName())->getErrors();
foreach ($errors as $key => $error) {
// If error code matches a known error shape, populate the body
if ($data['code'] == $error['name']
&& $error instanceof StructureShape
) {
$modeledError = $error;
$data['body'] = $this->extractPayload(
$modeledError,
$response
);
$data['error_shape'] = $modeledError;
foreach ($error->getMembers() as $name => $member) {
switch ($member['location']) {
case 'header':
$this->extractHeader($name, $member, $response, $data['body']);
break;
case 'headers':
$this->extractHeaders($name, $member, $response, $data['body']);
break;
case 'statusCode':
$this->extractStatus($name, $response, $data['body']);
break;
}
}
break;
}
}
}
}
return $data;
}
}

View File

@@ -2,6 +2,7 @@
namespace Aws\Api\ErrorParser;
use Aws\Api\Parser\PayloadParserTrait;
use Aws\Api\StructureShape;
use Psr\Http\Message\ResponseInterface;
/**
@@ -14,13 +15,38 @@ trait JsonParserTrait
private function genericHandler(ResponseInterface $response)
{
$code = (string) $response->getStatusCode();
if ($this->api
&& $this->api->getMetadata('awsQueryCompatible')
&& $response->getHeaderLine('x-amzn-query-error')
) {
$queryError = $response->getHeaderLine('x-amzn-query-error');
$parts = explode(';', $queryError);
if (isset($parts) && count($parts) == 2 && $parts[0] && $parts[1]) {
$error_code = $parts[0];
$error_type = $parts[1];
}
}
if (!isset($error_type)) {
$error_type = $code[0] == '4' ? 'client' : 'server';
}
return [
'request_id' => (string) $response->getHeaderLine('x-amzn-requestid'),
'code' => null,
'code' => isset($error_code) ? $error_code : null,
'message' => null,
'type' => $code[0] == '4' ? 'client' : 'server',
'type' => $error_type,
'parsed' => $this->parseJson($response->getBody(), $response)
];
}
protected function payload(
ResponseInterface $response,
StructureShape $member
) {
$jsonBody = $this->parseJson($response->getBody(), $response);
if ($jsonBody) {
return $this->parser->parse($member, $jsonBody);
}
}
}

View File

@@ -1,31 +1,49 @@
<?php
namespace Aws\Api\ErrorParser;
use Aws\Api\Parser\JsonParser;
use Aws\Api\Service;
use Aws\CommandInterface;
use Psr\Http\Message\ResponseInterface;
/**
* Parsers JSON-RPC errors.
*/
class JsonRpcErrorParser
class JsonRpcErrorParser extends AbstractErrorParser
{
use JsonParserTrait;
public function __invoke(ResponseInterface $response)
private $parser;
public function __construct(Service $api = null, JsonParser $parser = null)
{
parent::__construct($api);
$this->parser = $parser ?: new JsonParser();
}
public function __invoke(
ResponseInterface $response,
CommandInterface $command = null
) {
$data = $this->genericHandler($response);
// Make the casing consistent across services.
if ($data['parsed']) {
$data['parsed'] = array_change_key_case($data['parsed']);
}
if (isset($data['parsed']['__type'])) {
$parts = explode('#', $data['parsed']['__type']);
$data['code'] = isset($parts[1]) ? $parts[1] : $parts[0];
if (!isset($data['code'])) {
$parts = explode('#', $data['parsed']['__type']);
$data['code'] = isset($parts[1]) ? $parts[1] : $parts[0];
}
$data['message'] = isset($data['parsed']['message'])
? $data['parsed']['message']
: null;
}
$this->populateShape($data, $response, $command);
return $data;
}
}

View File

@@ -1,17 +1,31 @@
<?php
namespace Aws\Api\ErrorParser;
use Aws\Api\Parser\JsonParser;
use Aws\Api\Service;
use Aws\Api\StructureShape;
use Aws\CommandInterface;
use Psr\Http\Message\ResponseInterface;
/**
* Parses JSON-REST errors.
*/
class RestJsonErrorParser
class RestJsonErrorParser extends AbstractErrorParser
{
use JsonParserTrait;
public function __invoke(ResponseInterface $response)
private $parser;
public function __construct(Service $api = null, JsonParser $parser = null)
{
parent::__construct($api);
$this->parser = $parser ?: new JsonParser();
}
public function __invoke(
ResponseInterface $response,
CommandInterface $command = null
) {
$data = $this->genericHandler($response);
// Merge in error data from the JSON body
@@ -30,6 +44,15 @@ class RestJsonErrorParser
$data['code'] = $colon ? substr($code, 0, $colon) : $code;
}
// Retrieve error message directly
$data['message'] = isset($data['parsed']['message'])
? $data['parsed']['message']
: (isset($data['parsed']['Message'])
? $data['parsed']['Message']
: null);
$this->populateShape($data, $response, $command);
return $data;
}
}

View File

@@ -2,25 +2,39 @@
namespace Aws\Api\ErrorParser;
use Aws\Api\Parser\PayloadParserTrait;
use Aws\Api\Parser\XmlParser;
use Aws\Api\Service;
use Aws\Api\StructureShape;
use Aws\CommandInterface;
use Psr\Http\Message\ResponseInterface;
/**
* Parses XML errors.
*/
class XmlErrorParser
class XmlErrorParser extends AbstractErrorParser
{
use PayloadParserTrait;
public function __invoke(ResponseInterface $response)
protected $parser;
public function __construct(Service $api = null, XmlParser $parser = null)
{
parent::__construct($api);
$this->parser = $parser ?: new XmlParser();
}
public function __invoke(
ResponseInterface $response,
CommandInterface $command = null
) {
$code = (string) $response->getStatusCode();
$data = [
'type' => $code[0] == '4' ? 'client' : 'server',
'request_id' => null,
'code' => null,
'message' => null,
'parsed' => null
'type' => $code[0] == '4' ? 'client' : 'server',
'request_id' => null,
'code' => null,
'message' => null,
'parsed' => null
];
$body = $response->getBody();
@@ -30,6 +44,8 @@ class XmlErrorParser
$this->parseHeaders($response, $data);
}
$this->populateShape($data, $response, $command);
return $data;
}
@@ -51,16 +67,7 @@ class XmlErrorParser
private function parseBody(\SimpleXMLElement $body, array &$data)
{
$data['parsed'] = $body;
$namespaces = $body->getDocNamespaces();
if (!isset($namespaces[''])) {
$prefix = '';
} else {
// Account for the default namespace being defined and PHP not
// being able to handle it :(.
$body->registerXPathNamespace('ns', $namespaces['']);
$prefix = 'ns:';
}
$prefix = $this->registerNamespacePrefix($body);
if ($tempXml = $body->xpath("//{$prefix}Code[1]")) {
$data['code'] = (string) $tempXml[0];
@@ -71,12 +78,34 @@ class XmlErrorParser
}
$tempXml = $body->xpath("//{$prefix}RequestId[1]");
if (empty($tempXml)) {
$tempXml = $body->xpath("//{$prefix}RequestID[1]");
}
if (isset($tempXml[0])) {
$data['request_id'] = (string) $tempXml[0];
$data['request_id'] = (string)$tempXml[0];
}
}
protected function registerNamespacePrefix(\SimpleXMLElement $element)
{
$namespaces = $element->getDocNamespaces();
if (!isset($namespaces[''])) {
return '';
}
// Account for the default namespace being defined and PHP not
// being able to handle it :(.
$element->registerXPathNamespace('ns', $namespaces['']);
return 'ns:';
}
protected function payload(
ResponseInterface $response,
StructureShape $member
) {
$xmlBody = $this->parseXml($response->getBody(), $response);
$prefix = $this->registerNamespacePrefix($xmlBody);
$errorBody = $xmlBody->xpath("//{$prefix}Error");
if (is_array($errorBody) && !empty($errorBody[0])) {
return $this->parser->parse($member, $errorBody[0]);
}
}
}

View File

@@ -9,6 +9,8 @@ class Operation extends AbstractModel
private $input;
private $output;
private $errors;
private $staticContextParams = [];
private $contextParams;
public function __construct(array $definition, ShapeMap $shapeMap)
{
@@ -22,7 +24,12 @@ class Operation extends AbstractModel
$definition['http']['requestUri'] = '/';
}
if (isset($definition['staticContextParams'])) {
$this->staticContextParams = $definition['staticContextParams'];
}
parent::__construct($definition, $shapeMap);
$this->contextParams = $this->setContextParams();
}
/**
@@ -94,4 +101,42 @@ class Operation extends AbstractModel
return $this->errors;
}
/**
* Gets static modeled static values used for
* endpoint resolution.
*
* @return array
*/
public function getStaticContextParams()
{
return $this->staticContextParams;
}
/**
* Gets definition of modeled dynamic values used
* for endpoint resolution
*
* @return array
*/
public function getContextParams()
{
return $this->contextParams;
}
private function setContextParams()
{
$members = $this->getInput()->getMembers();
$contextParams = [];
foreach($members as $name => $shape) {
if (!empty($contextParam = $shape->getContextParam())) {
$contextParams[$contextParam['name']] = [
'shape' => $name,
'type' => $shape->getType()
];
}
}
return $contextParams;
}
}

View File

@@ -14,6 +14,7 @@ use Psr\Http\Message\ResponseInterface;
abstract class AbstractRestParser extends AbstractParser
{
use PayloadParserTrait;
/**
* Parses a payload from a response.
*
@@ -116,11 +117,10 @@ abstract class AbstractRestParser extends AbstractParser
break;
case 'timestamp':
try {
if (!empty($shape['timestampFormat'])
&& $shape['timestampFormat'] === 'unixTimestamp') {
$value = DateTimeResult::fromEpoch($value);
}
$value = new DateTimeResult($value);
$value = DateTimeResult::fromTimestamp(
$value,
!empty($shape['timestampFormat']) ? $shape['timestampFormat'] : null
);
break;
} catch (\Exception $e) {
// If the value cannot be parsed, then do not add it to the
@@ -128,10 +128,21 @@ abstract class AbstractRestParser extends AbstractParser
return;
}
case 'string':
if ($shape['jsonvalue']) {
$value = $this->parseJson(base64_decode($value), $response);
try {
if ($shape['jsonvalue']) {
$value = $this->parseJson(base64_decode($value), $response);
}
// If value is not set, do not add to output structure.
if (!isset($value)) {
return;
}
break;
} catch (\Exception $e) {
//If the value cannot be parsed, then do not add it to the
//output structure.
return;
}
break;
}
$result[$name] = $value;
@@ -149,7 +160,7 @@ abstract class AbstractRestParser extends AbstractParser
// Check if the headers are prefixed by a location name
$result[$name] = [];
$prefix = $shape['locationName'];
$prefixLen = strlen($prefix);
$prefixLen = $prefix !== null ? strlen($prefix) : 0;
foreach ($response->getHeaders() as $k => $values) {
if (!$prefixLen) {

View File

@@ -26,7 +26,7 @@ class Crc32ValidatingParser extends AbstractParser
ResponseInterface $response
) {
if ($expected = $response->getHeaderLine('x-amz-crc32')) {
$hash = hexdec(Psr7\hash($response->getBody(), 'crc32b'));
$hash = hexdec(Psr7\Utils::hash($response->getBody(), 'crc32b'));
if ($expected != $hash) {
throw new AwsException(
"crc32 mismatch. Expected {$expected}, found {$hash}.",

View File

@@ -60,7 +60,7 @@ class DecodingEventStreamIterator implements Iterator
/** @var int Current in-order event key. */
private $key;
/** @var resource|HashContext CRC32 hash context for event validation */
/** @var resource|\HashContext CRC32 hash context for event validation */
private $hashContext;
/** @var int $currentPosition */
@@ -150,7 +150,7 @@ class DecodingEventStreamIterator implements Iterator
$numBytes
) = $this->parseHeaders($prelude[self::LENGTH_HEADERS]);
$event[self::PAYLOAD] = Psr7\stream_for(
$event[self::PAYLOAD] = Psr7\Utils::streamFor(
$this->readAndHashBytes(
$prelude[self::LENGTH_TOTAL] - self::BYTES_PRELUDE
- $numBytes - self::BYTES_TRAILING
@@ -172,6 +172,7 @@ class DecodingEventStreamIterator implements Iterator
/**
* @return array
*/
#[\ReturnTypeWillChange]
public function current()
{
return $this->currentEvent;
@@ -180,11 +181,13 @@ class DecodingEventStreamIterator implements Iterator
/**
* @return int
*/
#[\ReturnTypeWillChange]
public function key()
{
return $this->key;
}
#[\ReturnTypeWillChange]
public function next()
{
$this->currentPosition = $this->stream->tell();
@@ -194,6 +197,7 @@ class DecodingEventStreamIterator implements Iterator
}
}
#[\ReturnTypeWillChange]
public function rewind()
{
$this->stream->rewind();
@@ -205,6 +209,7 @@ class DecodingEventStreamIterator implements Iterator
/**
* @return bool
*/
#[\ReturnTypeWillChange]
public function valid()
{
return $this->currentPosition < $this->stream->getSize();

View File

@@ -33,26 +33,31 @@ class EventParsingIterator implements Iterator
$this->parser = $parser;
}
#[\ReturnTypeWillChange]
public function current()
{
return $this->parseEvent($this->decodingIterator->current());
}
#[\ReturnTypeWillChange]
public function key()
{
return $this->decodingIterator->key();
}
#[\ReturnTypeWillChange]
public function next()
{
$this->decodingIterator->next();
}
#[\ReturnTypeWillChange]
public function rewind()
{
$this->decodingIterator->rewind();
}
#[\ReturnTypeWillChange]
public function valid()
{
return $this->decodingIterator->valid();

View File

@@ -4,6 +4,7 @@ namespace Aws\Api\Parser\Exception;
use Aws\HasMonitoringEventsTrait;
use Aws\MonitoringEventsInterface;
use Aws\ResponseContainerInterface;
use Psr\Http\Message\ResponseInterface;
class ParserException extends \RuntimeException implements
MonitoringEventsInterface,
@@ -11,14 +12,38 @@ class ParserException extends \RuntimeException implements
{
use HasMonitoringEventsTrait;
private $errorCode;
private $requestId;
private $response;
public function __construct($message = '', $code = 0, $previous = null, array $context = [])
{
$this->errorCode = isset($context['error_code']) ? $context['error_code'] : null;
$this->requestId = isset($context['request_id']) ? $context['request_id'] : null;
$this->response = isset($context['response']) ? $context['response'] : null;
parent::__construct($message, $code, $previous);
}
/**
* Get the error code, if any.
*
* @return string|null
*/
public function getErrorCode()
{
return $this->errorCode;
}
/**
* Get the request ID, if any.
*
* @return string|null
*/
public function getRequestId()
{
return $this->requestId;
}
/**
* Get the received HTTP response if any.
*

View File

@@ -17,6 +17,9 @@ class JsonParser
switch ($shape['type']) {
case 'structure':
if (isset($shape['document']) && $shape['document']) {
return $value;
}
$target = [];
foreach ($shape->getMembers() as $name => $member) {
$locationName = $member['locationName'] ?: $name;
@@ -24,6 +27,15 @@ class JsonParser
$target[$name] = $this->parse($member, $value[$locationName]);
}
}
if (isset($shape['union'])
&& $shape['union']
&& is_array($value)
&& empty($target)
) {
foreach ($value as $key => $val) {
$target['Unknown'][$key] = $val;
}
}
return $target;
case 'list':
@@ -43,14 +55,10 @@ class JsonParser
return $target;
case 'timestamp':
if (!empty($shape['timestampFormat'])
&& $shape['timestampFormat'] !== 'unixTimestamp') {
return new DateTimeResult($value);
}
// The Unix epoch (or Unix time or POSIX time or Unix
// timestamp) is the number of seconds that have elapsed since
// January 1, 1970 (midnight UTC/GMT).
return DateTimeResult::fromEpoch($value);
return DateTimeResult::fromTimestamp(
$value,
!empty($shape['timestampFormat']) ? $shape['timestampFormat'] : null
);
case 'blob':
return base64_decode($value);
@@ -60,3 +68,4 @@ class JsonParser
}
}
}

View File

@@ -0,0 +1,90 @@
<?php
namespace Aws\Api\Parser;
use Aws\Api\DateTimeResult;
use Aws\Api\Shape;
use Psr\Http\Message\ResponseInterface;
trait MetadataParserTrait
{
/**
* Extract a single header from the response into the result.
*/
protected function extractHeader(
$name,
Shape $shape,
ResponseInterface $response,
&$result
) {
$value = $response->getHeaderLine($shape['locationName'] ?: $name);
switch ($shape->getType()) {
case 'float':
case 'double':
$value = (float) $value;
break;
case 'long':
$value = (int) $value;
break;
case 'boolean':
$value = filter_var($value, FILTER_VALIDATE_BOOLEAN);
break;
case 'blob':
$value = base64_decode($value);
break;
case 'timestamp':
try {
$value = DateTimeResult::fromTimestamp(
$value,
!empty($shape['timestampFormat']) ? $shape['timestampFormat'] : null
);
break;
} catch (\Exception $e) {
// If the value cannot be parsed, then do not add it to the
// output structure.
return;
}
case 'string':
if ($shape['jsonvalue']) {
$value = $this->parseJson(base64_decode($value), $response);
}
break;
}
$result[$name] = $value;
}
/**
* Extract a map of headers with an optional prefix from the response.
*/
protected function extractHeaders(
$name,
Shape $shape,
ResponseInterface $response,
&$result
) {
// Check if the headers are prefixed by a location name
$result[$name] = [];
$prefix = $shape['locationName'];
$prefixLen = strlen($prefix);
foreach ($response->getHeaders() as $k => $values) {
if (!$prefixLen) {
$result[$name][$k] = implode(', ', $values);
} elseif (stripos($k, $prefix) === 0) {
$result[$name][substr($k, $prefixLen)] = implode(', ', $values);
}
}
}
/**
* Places the status code of the response into the result array.
*/
protected function extractStatus(
$name,
ResponseInterface $response,
array &$result
) {
$result[$name] = (int) $response->getStatusCode();
}
}

View File

@@ -36,7 +36,7 @@ trait PayloadParserTrait
*
* @return \SimpleXMLElement
*/
private function parseXml($xml, $response)
protected function parseXml($xml, $response)
{
$priorSetting = libxml_use_internal_errors(true);
try {

View File

@@ -4,6 +4,7 @@ namespace Aws\Api\Parser;
use Aws\Api\DateTimeResult;
use Aws\Api\ListShape;
use Aws\Api\MapShape;
use Aws\Api\Parser\Exception\ParserException;
use Aws\Api\Shape;
use Aws\Api\StructureShape;
@@ -50,9 +51,26 @@ class XmlParser
$node = $this->memberKey($member, $name);
if (isset($value->{$node})) {
$target[$name] = $this->dispatch($member, $value->{$node});
} else {
$memberShape = $shape->getMember($name);
if (!empty($memberShape['xmlAttribute'])) {
$target[$name] = $this->parse_xml_attribute(
$shape,
$memberShape,
$value
);
}
}
}
if (isset($shape['union'])
&& $shape['union']
&& empty($target)
) {
foreach ($value as $key => $val) {
$name = $val->children()->getName();
$target['Unknown'][$name] = $val->$name;
}
}
return $target;
}
@@ -129,10 +147,33 @@ class XmlParser
private function parse_timestamp(Shape $shape, $value)
{
if (!empty($shape['timestampFormat'])
&& $shape['timestampFormat'] === 'unixTimestamp') {
return DateTimeResult::fromEpoch((string) $value);
if (is_string($value)
|| is_int($value)
|| (is_object($value)
&& method_exists($value, '__toString'))
) {
return DateTimeResult::fromTimestamp(
(string) $value,
!empty($shape['timestampFormat']) ? $shape['timestampFormat'] : null
);
}
return new DateTimeResult($value);
throw new ParserException('Invalid timestamp value passed to XmlParser::parse_timestamp');
}
private function parse_xml_attribute(Shape $shape, Shape $memberShape, $value)
{
$namespace = $shape['xmlNamespace']['uri']
? $shape['xmlNamespace']['uri']
: '';
$prefix = $shape['xmlNamespace']['prefix']
? $shape['xmlNamespace']['prefix']
: '';
if (!empty($prefix)) {
$prefix .= ':';
}
$key = str_replace($prefix, '', $memberShape['locationName']);
$attributes = $value->attributes($namespace);
return isset($attributes[$key]) ? (string) $attributes[$key] : null;
}
}

View File

@@ -12,7 +12,7 @@ class Ec2ParamBuilder extends QueryParamBuilder
protected function queryName(Shape $shape, $default = null)
{
return ($shape['queryName']
?: ucfirst($shape['locationName']))
?: ucfirst(@$shape['locationName'] ?: ""))
?: $default;
}

View File

@@ -4,6 +4,7 @@ namespace Aws\Api\Serializer;
use Aws\Api\Service;
use Aws\Api\Shape;
use Aws\Api\TimestampShape;
use Aws\Exception\InvalidJsonException;
/**
* Formats the JSON body of a JSON-REST or JSON-RPC operation.
@@ -27,8 +28,17 @@ class JsonBody
*/
public static function getContentType(Service $service)
{
return 'application/x-amz-json-'
. number_format($service->getMetadata('jsonVersion'), 1);
if ($service->getMetadata('protocol') === 'rest-json') {
return 'application/json';
}
$jsonVersion = $service->getMetadata('jsonVersion');
if (empty($jsonVersion)) {
throw new \InvalidArgumentException('invalid json');
} else {
return 'application/x-amz-json-'
. @number_format($service->getMetadata('jsonVersion'), 1);
}
}
/**
@@ -42,7 +52,6 @@ class JsonBody
public function build(Shape $shape, array $args)
{
$result = json_encode($this->format($shape, $args));
return $result == '[]' ? '{}' : $result;
}
@@ -51,6 +60,9 @@ class JsonBody
switch ($shape['type']) {
case 'structure':
$data = [];
if (isset($shape['document']) && $shape['document']) {
return $value;
}
foreach ($value as $k => $v) {
if ($v !== null && $shape->hasMember($k)) {
$valueShape = $shape->getMember($k);

View File

@@ -3,6 +3,8 @@ namespace Aws\Api\Serializer;
use Aws\Api\Service;
use Aws\CommandInterface;
use Aws\EndpointV2\EndpointProviderV2;
use Aws\EndpointV2\EndpointV2SerializerTrait;
use GuzzleHttp\Psr7\Request;
use Psr\Http\Message\RequestInterface;
@@ -12,6 +14,8 @@ use Psr\Http\Message\RequestInterface;
*/
class JsonRpcSerializer
{
use EndpointV2SerializerTrait;
/** @var JsonBody */
private $jsonFormatter;
@@ -44,25 +48,44 @@ class JsonRpcSerializer
* When invoked with an AWS command, returns a serialization array
* containing "method", "uri", "headers", and "body" key value pairs.
*
* @param CommandInterface $command
* @param CommandInterface $command Command to serialize into a request.
* @param $endpointProvider Provider used for dynamic endpoint resolution.
* @param $clientArgs Client arguments used for dynamic endpoint resolution.
*
* @return RequestInterface
*/
public function __invoke(CommandInterface $command)
public function __invoke(
CommandInterface $command,
$endpointProvider = null,
$clientArgs = null
)
{
$name = $command->getName();
$operation = $this->api->getOperation($name);
$operationName = $command->getName();
$operation = $this->api->getOperation($operationName);
$commandArgs = $command->toArray();
$headers = [
'X-Amz-Target' => $this->api->getMetadata('targetPrefix') . '.' . $operationName,
'Content-Type' => $this->contentType
];
if ($endpointProvider instanceof EndpointProviderV2) {
$this->setRequestOptions(
$endpointProvider,
$command,
$operation,
$commandArgs,
$clientArgs,
$headers
);
}
return new Request(
$operation['http']['method'],
$this->endpoint,
[
'X-Amz-Target' => $this->api->getMetadata('targetPrefix') . '.' . $name,
'Content-Type' => $this->contentType
],
$headers,
$this->jsonFormatter->build(
$operation->getInput(),
$command->toArray()
$commandArgs
)
);
}

View File

@@ -3,6 +3,8 @@ namespace Aws\Api\Serializer;
use Aws\Api\Service;
use Aws\CommandInterface;
use Aws\EndpointV2\EndpointProviderV2;
use Aws\EndpointV2\EndpointV2SerializerTrait;
use GuzzleHttp\Psr7\Request;
use Psr\Http\Message\RequestInterface;
@@ -12,6 +14,8 @@ use Psr\Http\Message\RequestInterface;
*/
class QuerySerializer
{
use EndpointV2SerializerTrait;
private $endpoint;
private $api;
private $paramBuilder;
@@ -30,39 +34,54 @@ class QuerySerializer
* When invoked with an AWS command, returns a serialization array
* containing "method", "uri", "headers", and "body" key value pairs.
*
* @param CommandInterface $command
* @param CommandInterface $command Command to serialize into a request.
* @param $endpointProvider Provider used for dynamic endpoint resolution.
* @param $clientArgs Client arguments used for dynamic endpoint resolution.
*
* @return RequestInterface
*/
public function __invoke(CommandInterface $command)
public function __invoke(
CommandInterface $command,
$endpointProvider = null,
$clientArgs = null
)
{
$operation = $this->api->getOperation($command->getName());
$body = [
'Action' => $command->getName(),
'Version' => $this->api->getMetadata('apiVersion')
];
$params = $command->toArray();
$commandArgs = $command->toArray();
// Only build up the parameters when there are parameters to build
if ($params) {
if ($commandArgs) {
$body += call_user_func(
$this->paramBuilder,
$operation->getInput(),
$params
$commandArgs
);
}
$body = http_build_query($body, '', '&', PHP_QUERY_RFC3986);
$headers = [
'Content-Length' => strlen($body),
'Content-Type' => 'application/x-www-form-urlencoded'
];
$body = http_build_query($body, null, '&', PHP_QUERY_RFC3986);
if ($endpointProvider instanceof EndpointProviderV2) {
$this->setRequestOptions(
$endpointProvider,
$command,
$operation,
$commandArgs,
$clientArgs,
$headers
);
}
return new Request(
'POST',
$this->endpoint,
[
'Content-Length' => strlen($body),
'Content-Type' => 'application/x-www-form-urlencoded'
],
$headers,
$body
);
}

View File

@@ -33,7 +33,10 @@ class RestJsonSerializer extends RestSerializer
protected function payload(StructureShape $member, array $value, array &$opts)
{
$body = isset($value) ?
((string) $this->jsonFormatter->build($member, $value))
: "{}";
$opts['headers']['Content-Type'] = $this->contentType;
$opts['body'] = (string) $this->jsonFormatter->build($member, $value);
$opts['body'] = $body;
}
}

View File

@@ -8,7 +8,10 @@ use Aws\Api\Shape;
use Aws\Api\StructureShape;
use Aws\Api\TimestampShape;
use Aws\CommandInterface;
use Aws\EndpointV2\EndpointProviderV2;
use Aws\EndpointV2\EndpointV2SerializerTrait;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Psr7\Uri;
use GuzzleHttp\Psr7\UriResolver;
use Psr\Http\Message\RequestInterface;
@@ -19,10 +22,12 @@ use Psr\Http\Message\RequestInterface;
*/
abstract class RestSerializer
{
use EndpointV2SerializerTrait;
/** @var Service */
private $api;
/** @var Psr7\Uri */
/** @var Uri */
private $endpoint;
/**
@@ -32,25 +37,44 @@ abstract class RestSerializer
public function __construct(Service $api, $endpoint)
{
$this->api = $api;
$this->endpoint = Psr7\uri_for($endpoint);
$this->endpoint = Psr7\Utils::uriFor($endpoint);
}
/**
* @param CommandInterface $command Command to serialized
* @param CommandInterface $command Command to serialize into a request.
* @param $endpointProvider Provider used for dynamic endpoint resolution.
* @param $clientArgs Client arguments used for dynamic endpoint resolution.
*
* @return RequestInterface
*/
public function __invoke(CommandInterface $command)
public function __invoke(
CommandInterface $command,
$endpointProvider = null,
$clientArgs = null
)
{
$operation = $this->api->getOperation($command->getName());
$args = $command->toArray();
$opts = $this->serialize($operation, $args);
$uri = $this->buildEndpoint($operation, $args, $opts);
$commandArgs = $command->toArray();
$opts = $this->serialize($operation, $commandArgs);
$headers = isset($opts['headers']) ? $opts['headers'] : [];
return new Psr7\Request(
if ($endpointProvider instanceof EndpointProviderV2) {
$this->setRequestOptions(
$endpointProvider,
$command,
$operation,
$commandArgs,
$clientArgs,
$headers
);
$this->endpoint = new Uri($this->endpoint);
}
$uri = $this->buildEndpoint($operation, $commandArgs, $opts);
return new Request(
$operation['http']['method'],
$uri,
isset($opts['headers']) ? $opts['headers'] : [],
$headers,
isset($opts['body']) ? $opts['body'] : null
);
}
@@ -96,6 +120,8 @@ abstract class RestSerializer
if (isset($bodyMembers)) {
$this->payload($operation->getInput(), $bodyMembers, $opts);
} else if (!isset($opts['body']) && $this->hasPayloadParam($input, $payload)) {
$this->payload($operation->getInput(), [], $opts);
}
return $opts;
@@ -114,7 +140,7 @@ abstract class RestSerializer
) {
// Streaming bodies or payloads that are strings are
// always just a stream of data.
$opts['body'] = Psr7\stream_for($args[$name]);
$opts['body'] = Psr7\Utils::streamFor($args[$name]);
return;
}
@@ -128,7 +154,10 @@ abstract class RestSerializer
? $member['timestampFormat']
: 'rfc822';
$value = TimestampShape::format($value, $timestampFormat);
} elseif ($member->getType() === 'boolean') {
$value = $value ? 'true' : 'false';
}
if ($member['jsonvalue']) {
$value = json_encode($value);
if (empty($value) && JSON_ERROR_NONE !== json_last_error()) {
@@ -176,44 +205,103 @@ abstract class RestSerializer
private function buildEndpoint(Operation $operation, array $args, array $opts)
{
$varspecs = [];
// Create an associative array of varspecs used in expansions
foreach ($operation->getInput()->getMembers() as $name => $member) {
if ($member['location'] == 'uri') {
$varspecs[$member['locationName'] ?: $name] =
isset($args[$name])
? $args[$name]
: null;
}
}
// Create an associative array of variable definitions used in expansions
$varDefinitions = $this->getVarDefinitions($operation, $args);
$relative = preg_replace_callback(
'/\{([^\}]+)\}/',
function (array $matches) use ($varspecs) {
function (array $matches) use ($varDefinitions) {
$isGreedy = substr($matches[1], -1, 1) == '+';
$k = $isGreedy ? substr($matches[1], 0, -1) : $matches[1];
if (!isset($varspecs[$k])) {
if (!isset($varDefinitions[$k])) {
return '';
}
if ($isGreedy) {
return str_replace('%2F', '/', rawurlencode($varspecs[$k]));
return str_replace('%2F', '/', rawurlencode($varDefinitions[$k]));
}
return rawurlencode($varspecs[$k]);
return rawurlencode($varDefinitions[$k]);
},
$operation['http']['requestUri']
);
// Add the query string variables or appending to one if needed.
if (!empty($opts['query'])) {
$append = Psr7\build_query($opts['query']);
$relative .= strpos($relative, '?') ? "&{$append}" : "?$append";
$relative = $this->appendQuery($opts['query'], $relative);
}
$path = $this->endpoint->getPath();
//Accounts for trailing '/' in path when custom endpoint
//is provided to endpointProviderV2
if ($this->api->isModifiedModel()
&& $this->api->getServiceName() === 's3'
) {
if (substr($path, -1) === '/' && $relative[0] === '/') {
$path = rtrim($path, '/');
}
$relative = $path . $relative;
}
// If endpoint has path, remove leading '/' to preserve URI resolution.
if ($path && $relative[0] === '/') {
$relative = substr($relative, 1);
}
//Append path to endpoint when leading '//...' present
// as uri cannot be properly resolved
if ($this->api->isModifiedModel()
&& strpos($relative, '//') === 0
) {
return new Uri($this->endpoint . $relative);
}
// Expand path place holders using Amazon's slightly different URI
// template syntax.
return UriResolver::resolve($this->endpoint, new Uri($relative));
}
/**
* @param StructureShape $input
*/
private function hasPayloadParam(StructureShape $input, $payload)
{
if ($payload) {
$potentiallyEmptyTypes = ['blob','string'];
if ($this->api->getMetadata('protocol') == 'rest-xml') {
$potentiallyEmptyTypes[] = 'structure';
}
$payloadMember = $input->getMember($payload);
if (in_array($payloadMember['type'], $potentiallyEmptyTypes)) {
return false;
}
}
foreach ($input->getMembers() as $member) {
if (!isset($member['location'])) {
return true;
}
}
return false;
}
private function appendQuery($query, $endpoint)
{
$append = Psr7\Query::build($query);
return $endpoint .= strpos($endpoint, '?') !== false ? "&{$append}" : "?{$append}";
}
private function getVarDefinitions($command, $args)
{
$varDefinitions = [];
foreach ($command->getInput()->getMembers() as $name => $member) {
if ($member['location'] == 'uri') {
$varDefinitions[$member['locationName'] ?: $name] =
isset($args[$name])
? $args[$name]
: null;
}
}
return $varDefinitions;
}
}

View File

@@ -29,6 +29,20 @@ class RestXmlSerializer extends RestSerializer
protected function payload(StructureShape $member, array $value, array &$opts)
{
$opts['headers']['Content-Type'] = 'application/xml';
$opts['body'] = (string) $this->xmlBody->build($member, $value);
$opts['body'] = $this->getXmlBody($member, $value);
}
/**
* @param StructureShape $member
* @param array $value
* @return string
*/
private function getXmlBody(StructureShape $member, array $value)
{
$xmlBody = (string)$this->xmlBody->build($member, $value);
$xmlBody = str_replace("'", "&apos;", $xmlBody);
$xmlBody = str_replace('\r', "&#13;", $xmlBody);
$xmlBody = str_replace('\n', "&#10;", $xmlBody);
return $xmlBody;
}
}

View File

@@ -80,7 +80,7 @@ class XmlBody
private function defaultShape(Shape $shape, $name, $value, XMLWriter $xml)
{
$this->startElement($shape, $name, $xml);
$xml->writeRaw($value);
$xml->text($value);
$xml->endElement();
}

View File

@@ -19,6 +19,9 @@ class Service extends AbstractModel
/** @var string */
private $apiVersion;
/** @var array */
private $clientContextParams = [];
/** @var Operation[] */
private $operations = [];
@@ -28,6 +31,9 @@ class Service extends AbstractModel
/** @var array */
private $waiters = null;
/** @var boolean */
private $modifiedModel = false;
/**
* @param array $definition
* @param callable $provider
@@ -39,7 +45,8 @@ class Service extends AbstractModel
static $defaults = [
'operations' => [],
'shapes' => [],
'metadata' => []
'metadata' => [],
'clientContextParams' => []
], $defaultMeta = [
'apiVersion' => null,
'serviceFullName' => null,
@@ -62,8 +69,10 @@ class Service extends AbstractModel
} else {
$this->serviceName = $this->getEndpointPrefix();
}
$this->apiVersion = $this->getApiVersion();
if (isset($definition['clientContextParams'])) {
$this->clientContextParams = $definition['clientContextParams'];
}
}
/**
@@ -102,12 +111,14 @@ class Service extends AbstractModel
/**
* Creates an error parser for the given protocol.
*
* Redundant method signature to preserve backwards compatibility.
*
* @param string $protocol Protocol to parse (e.g., query, json, etc.)
*
* @return callable
* @throws \UnexpectedValueException
*/
public static function createErrorParser($protocol)
public static function createErrorParser($protocol, Service $api = null)
{
static $mapping = [
'json' => 'Aws\Api\ErrorParser\JsonRpcErrorParser',
@@ -118,7 +129,7 @@ class Service extends AbstractModel
];
if (isset($mapping[$protocol])) {
return new $mapping[$protocol]();
return new $mapping[$protocol]($api);
}
throw new \UnexpectedValueException("Unknown protocol: $protocol");
@@ -277,6 +288,11 @@ class Service extends AbstractModel
$this->definition['operations'][$name],
$this->shapeMap
);
} else if ($this->modifiedModel) {
$this->operations[$name] = new Operation(
$this->definition['operations'][$name],
$this->shapeMap
);
}
return $this->operations[$name];
@@ -297,6 +313,24 @@ class Service extends AbstractModel
return $result;
}
/**
* Get all of the error shapes of the service
*
* @return array
*/
public function getErrorShapes()
{
$result = [];
foreach ($this->definition['shapes'] as $name => $definition) {
if (!empty($definition['exception'])) {
$definition['name'] = $name;
$result[] = new StructureShape($definition, $this->getShapeMap());
}
}
return $result;
}
/**
* Get all of the service metadata or a specific metadata key value.
*
@@ -445,4 +479,61 @@ class Service extends AbstractModel
{
return $this->shapeMap;
}
/**
* Get all the context params of the description.
*
* @return array
*/
public function getClientContextParams()
{
return $this->clientContextParams;
}
/**
* Get the service's api provider.
*
* @return callable
*/
public function getProvider()
{
return $this->apiProvider;
}
/**
* Get the service's definition.
*
* @return callable
*/
public function getDefinition()
{
return $this->definition;
}
/**
* Sets the service's api definition.
* Intended for internal use only.
*
* @return void
*
* @internal
*/
public function setDefinition($definition)
{
$this->definition = $definition;
$this->modifiedModel = true;
}
/**
* Denotes whether or not a service's definition has
* been modified. Intended for internal use only.
*
* @return bool
*
* @internal
*/
public function isModifiedModel()
{
return $this->modifiedModel;
}
}

View File

@@ -66,4 +66,12 @@ class Shape extends AbstractModel
{
return $this->definition['name'];
}
/**
* Get a context param definition.
*/
public function getContextParam()
{
return $this->contextParam;
}
}

View File

@@ -53,7 +53,9 @@ class ShapeMap
$definition = $shapeRef + $this->definitions[$shape];
$definition['name'] = $definition['shape'];
unset($definition['shape']);
if (isset($definition['shape'])) {
unset($definition['shape']);
}
$result = Shape::create($definition, $this);

View File

@@ -90,7 +90,19 @@ class Validator
private function check_structure(StructureShape $shape, $value)
{
if (!$this->checkAssociativeArray($value)) {
$isDocument = (isset($shape['document']) && $shape['document']);
$isUnion = (isset($shape['union']) && $shape['union']);
if ($isDocument) {
if (!$this->checkDocumentType($value)) {
$this->addError("is not a valid document type");
return;
}
} elseif ($isUnion) {
if (!$this->checkUnion($value)) {
$this->addError("is a union type and must have exactly one non null value");
return;
}
} elseif (!$this->checkAssociativeArray($value)) {
return;
}
@@ -103,15 +115,16 @@ class Validator
}
}
}
foreach ($value as $name => $v) {
if ($shape->hasMember($name)) {
$this->path[] = $name;
$this->dispatch(
$shape->getMember($name),
isset($value[$name]) ? $value[$name] : null
);
array_pop($this->path);
if (!$isDocument) {
foreach ($value as $name => $v) {
if ($shape->hasMember($name)) {
$this->path[] = $name;
$this->dispatch(
$shape->getMember($name),
isset($value[$name]) ? $value[$name] : null
);
array_pop($this->path);
}
}
}
}
@@ -203,6 +216,7 @@ class Validator
return;
}
$value = isset($value) ? $value : '';
$this->validateRange($shape, strlen($value), "string length");
if ($this->constraints['pattern']) {
@@ -232,6 +246,21 @@ class Validator
}
}
private function checkArray($arr)
{
return $this->isIndexed($arr) || $this->isAssociative($arr);
}
private function isAssociative($arr)
{
return count(array_filter(array_keys($arr), "is_string")) == count($arr);
}
private function isIndexed(array $arr)
{
return $arr == array_values($arr);
}
private function checkCanString($value)
{
static $valid = [
@@ -249,7 +278,20 @@ class Validator
private function checkAssociativeArray($value)
{
if (!is_array($value) || isset($value[0])) {
$isAssociative = false;
if (is_array($value)) {
$expectedIndex = 0;
$key = key($value);
do {
$isAssociative = $key !== $expectedIndex++;
next($value);
$key = key($value);
} while (!$isAssociative && null !== $key);
}
if (!$isAssociative) {
$this->addError('must be an associative array. Found '
. Aws\describe_type($value));
return false;
@@ -258,6 +300,37 @@ class Validator
return true;
}
private function checkDocumentType($value)
{
if (is_array($value)) {
$typeOfFirstKey = gettype(key($value));
foreach ($value as $key => $val) {
if (!$this->checkDocumentType($val) || gettype($key) != $typeOfFirstKey) {
return false;
}
}
return $this->checkArray($value);
}
return is_null($value)
|| is_numeric($value)
|| is_string($value)
|| is_bool($value);
}
private function checkUnion($value)
{
if (is_array($value)) {
$nonNullCount = 0;
foreach ($value as $key => $val) {
if (!is_null($val) && !(strpos($key, "@") === 0)) {
$nonNullCount++;
}
}
return $nonNullCount == 1;
}
return !is_null($value);
}
private function addError($message)
{
$this->errors[] =

View File

@@ -0,0 +1,15 @@
<?php
namespace Aws\ApiGatewayManagementApi;
use Aws\AwsClient;
/**
* This client is used to interact with the **AmazonApiGatewayManagementApi** service.
* @method \Aws\Result deleteConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConnectionAsync(array $args = [])
* @method \Aws\Result getConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise getConnectionAsync(array $args = [])
* @method \Aws\Result postToConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise postToConnectionAsync(array $args = [])
*/
class ApiGatewayManagementApiClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\ApiGatewayManagementApi\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AmazonApiGatewayManagementApi** service.
*/
class ApiGatewayManagementApiException extends AwsException {}

View File

@@ -0,0 +1,153 @@
<?php
namespace Aws\ApiGatewayV2;
use Aws\AwsClient;
/**
* This client is used to interact with the **AmazonApiGatewayV2** service.
* @method \Aws\Result createApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApiAsync(array $args = [])
* @method \Aws\Result createApiMapping(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApiMappingAsync(array $args = [])
* @method \Aws\Result createAuthorizer(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAuthorizerAsync(array $args = [])
* @method \Aws\Result createDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = [])
* @method \Aws\Result createDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDomainNameAsync(array $args = [])
* @method \Aws\Result createIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIntegrationAsync(array $args = [])
* @method \Aws\Result createIntegrationResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIntegrationResponseAsync(array $args = [])
* @method \Aws\Result createModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise createModelAsync(array $args = [])
* @method \Aws\Result createRoute(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRouteAsync(array $args = [])
* @method \Aws\Result createRouteResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRouteResponseAsync(array $args = [])
* @method \Aws\Result createStage(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStageAsync(array $args = [])
* @method \Aws\Result createVpcLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise createVpcLinkAsync(array $args = [])
* @method \Aws\Result deleteAccessLogSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAccessLogSettingsAsync(array $args = [])
* @method \Aws\Result deleteApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApiAsync(array $args = [])
* @method \Aws\Result deleteApiMapping(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApiMappingAsync(array $args = [])
* @method \Aws\Result deleteAuthorizer(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAuthorizerAsync(array $args = [])
* @method \Aws\Result deleteCorsConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCorsConfigurationAsync(array $args = [])
* @method \Aws\Result deleteDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeploymentAsync(array $args = [])
* @method \Aws\Result deleteDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDomainNameAsync(array $args = [])
* @method \Aws\Result deleteIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIntegrationAsync(array $args = [])
* @method \Aws\Result deleteIntegrationResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIntegrationResponseAsync(array $args = [])
* @method \Aws\Result deleteModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteModelAsync(array $args = [])
* @method \Aws\Result deleteRoute(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRouteAsync(array $args = [])
* @method \Aws\Result deleteRouteRequestParameter(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRouteRequestParameterAsync(array $args = [])
* @method \Aws\Result deleteRouteResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRouteResponseAsync(array $args = [])
* @method \Aws\Result deleteRouteSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRouteSettingsAsync(array $args = [])
* @method \Aws\Result deleteStage(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteStageAsync(array $args = [])
* @method \Aws\Result deleteVpcLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteVpcLinkAsync(array $args = [])
* @method \Aws\Result exportApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportApiAsync(array $args = [])
* @method \Aws\Result resetAuthorizersCache(array $args = [])
* @method \GuzzleHttp\Promise\Promise resetAuthorizersCacheAsync(array $args = [])
* @method \Aws\Result getApiResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApiResourceAsync(array $args = [])
* @method \Aws\Result getApiMapping(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApiMappingAsync(array $args = [])
* @method \Aws\Result getApiMappings(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApiMappingsAsync(array $args = [])
* @method \Aws\Result getApis(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApisAsync(array $args = [])
* @method \Aws\Result getAuthorizer(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAuthorizerAsync(array $args = [])
* @method \Aws\Result getAuthorizers(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAuthorizersAsync(array $args = [])
* @method \Aws\Result getDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeploymentAsync(array $args = [])
* @method \Aws\Result getDeployments(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeploymentsAsync(array $args = [])
* @method \Aws\Result getDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDomainNameAsync(array $args = [])
* @method \Aws\Result getDomainNames(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDomainNamesAsync(array $args = [])
* @method \Aws\Result getIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIntegrationAsync(array $args = [])
* @method \Aws\Result getIntegrationResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIntegrationResponseAsync(array $args = [])
* @method \Aws\Result getIntegrationResponses(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIntegrationResponsesAsync(array $args = [])
* @method \Aws\Result getIntegrations(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIntegrationsAsync(array $args = [])
* @method \Aws\Result getModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise getModelAsync(array $args = [])
* @method \Aws\Result getModelTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getModelTemplateAsync(array $args = [])
* @method \Aws\Result getModels(array $args = [])
* @method \GuzzleHttp\Promise\Promise getModelsAsync(array $args = [])
* @method \Aws\Result getRoute(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRouteAsync(array $args = [])
* @method \Aws\Result getRouteResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRouteResponseAsync(array $args = [])
* @method \Aws\Result getRouteResponses(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRouteResponsesAsync(array $args = [])
* @method \Aws\Result getRoutes(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRoutesAsync(array $args = [])
* @method \Aws\Result getStage(array $args = [])
* @method \GuzzleHttp\Promise\Promise getStageAsync(array $args = [])
* @method \Aws\Result getStages(array $args = [])
* @method \GuzzleHttp\Promise\Promise getStagesAsync(array $args = [])
* @method \Aws\Result getTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTagsAsync(array $args = [])
* @method \Aws\Result getVpcLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise getVpcLinkAsync(array $args = [])
* @method \Aws\Result getVpcLinks(array $args = [])
* @method \GuzzleHttp\Promise\Promise getVpcLinksAsync(array $args = [])
* @method \Aws\Result importApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise importApiAsync(array $args = [])
* @method \Aws\Result reimportApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise reimportApiAsync(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 updateApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApiAsync(array $args = [])
* @method \Aws\Result updateApiMapping(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApiMappingAsync(array $args = [])
* @method \Aws\Result updateAuthorizer(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAuthorizerAsync(array $args = [])
* @method \Aws\Result updateDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDeploymentAsync(array $args = [])
* @method \Aws\Result updateDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDomainNameAsync(array $args = [])
* @method \Aws\Result updateIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateIntegrationAsync(array $args = [])
* @method \Aws\Result updateIntegrationResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateIntegrationResponseAsync(array $args = [])
* @method \Aws\Result updateModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateModelAsync(array $args = [])
* @method \Aws\Result updateRoute(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRouteAsync(array $args = [])
* @method \Aws\Result updateRouteResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRouteResponseAsync(array $args = [])
* @method \Aws\Result updateStage(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateStageAsync(array $args = [])
* @method \Aws\Result updateVpcLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateVpcLinkAsync(array $args = [])
*/
class ApiGatewayV2Client extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\ApiGatewayV2\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AmazonApiGatewayV2** service.
*/
class ApiGatewayV2Exception extends AwsException {}

View File

@@ -0,0 +1,95 @@
<?php
namespace Aws\AppConfig;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon AppConfig** service.
* @method \Aws\Result createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createConfigurationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createConfigurationProfileAsync(array $args = [])
* @method \Aws\Result createDeploymentStrategy(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDeploymentStrategyAsync(array $args = [])
* @method \Aws\Result createEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEnvironmentAsync(array $args = [])
* @method \Aws\Result createExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise createExtensionAsync(array $args = [])
* @method \Aws\Result createExtensionAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createExtensionAssociationAsync(array $args = [])
* @method \Aws\Result createHostedConfigurationVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise createHostedConfigurationVersionAsync(array $args = [])
* @method \Aws\Result deleteApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = [])
* @method \Aws\Result deleteConfigurationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConfigurationProfileAsync(array $args = [])
* @method \Aws\Result deleteDeploymentStrategy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeploymentStrategyAsync(array $args = [])
* @method \Aws\Result deleteEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEnvironmentAsync(array $args = [])
* @method \Aws\Result deleteExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteExtensionAsync(array $args = [])
* @method \Aws\Result deleteExtensionAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteExtensionAssociationAsync(array $args = [])
* @method \Aws\Result deleteHostedConfigurationVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteHostedConfigurationVersionAsync(array $args = [])
* @method \Aws\Result getApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApplicationAsync(array $args = [])
* @method \Aws\Result getConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getConfigurationAsync(array $args = [])
* @method \Aws\Result getConfigurationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getConfigurationProfileAsync(array $args = [])
* @method \Aws\Result getDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeploymentAsync(array $args = [])
* @method \Aws\Result getDeploymentStrategy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeploymentStrategyAsync(array $args = [])
* @method \Aws\Result getEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEnvironmentAsync(array $args = [])
* @method \Aws\Result getExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExtensionAsync(array $args = [])
* @method \Aws\Result getExtensionAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExtensionAssociationAsync(array $args = [])
* @method \Aws\Result getHostedConfigurationVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise getHostedConfigurationVersionAsync(array $args = [])
* @method \Aws\Result listApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = [])
* @method \Aws\Result listConfigurationProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConfigurationProfilesAsync(array $args = [])
* @method \Aws\Result listDeploymentStrategies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDeploymentStrategiesAsync(array $args = [])
* @method \Aws\Result listDeployments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDeploymentsAsync(array $args = [])
* @method \Aws\Result listEnvironments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEnvironmentsAsync(array $args = [])
* @method \Aws\Result listExtensionAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExtensionAssociationsAsync(array $args = [])
* @method \Aws\Result listExtensions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExtensionsAsync(array $args = [])
* @method \Aws\Result listHostedConfigurationVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listHostedConfigurationVersionsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result startDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDeploymentAsync(array $args = [])
* @method \Aws\Result stopDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopDeploymentAsync(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 updateApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = [])
* @method \Aws\Result updateConfigurationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConfigurationProfileAsync(array $args = [])
* @method \Aws\Result updateDeploymentStrategy(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDeploymentStrategyAsync(array $args = [])
* @method \Aws\Result updateEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateEnvironmentAsync(array $args = [])
* @method \Aws\Result updateExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateExtensionAsync(array $args = [])
* @method \Aws\Result updateExtensionAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateExtensionAssociationAsync(array $args = [])
* @method \Aws\Result validateConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise validateConfigurationAsync(array $args = [])
*/
class AppConfigClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AppConfig\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **Amazon AppConfig** service.
*/
class AppConfigException extends AwsException {}

View File

@@ -0,0 +1,13 @@
<?php
namespace Aws\AppConfigData;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS AppConfig Data** service.
* @method \Aws\Result getLatestConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLatestConfigurationAsync(array $args = [])
* @method \Aws\Result startConfigurationSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise startConfigurationSessionAsync(array $args = [])
*/
class AppConfigDataClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AppConfigData\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS AppConfig Data** service.
*/
class AppConfigDataException extends AwsException {}

View File

@@ -0,0 +1,39 @@
<?php
namespace Aws\AppIntegrationsService;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon AppIntegrations Service** service.
* @method \Aws\Result createDataIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDataIntegrationAsync(array $args = [])
* @method \Aws\Result createEventIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEventIntegrationAsync(array $args = [])
* @method \Aws\Result deleteDataIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDataIntegrationAsync(array $args = [])
* @method \Aws\Result deleteEventIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEventIntegrationAsync(array $args = [])
* @method \Aws\Result getDataIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDataIntegrationAsync(array $args = [])
* @method \Aws\Result getEventIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEventIntegrationAsync(array $args = [])
* @method \Aws\Result listDataIntegrationAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataIntegrationAssociationsAsync(array $args = [])
* @method \Aws\Result listDataIntegrations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataIntegrationsAsync(array $args = [])
* @method \Aws\Result listEventIntegrationAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEventIntegrationAssociationsAsync(array $args = [])
* @method \Aws\Result listEventIntegrations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEventIntegrationsAsync(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 updateDataIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDataIntegrationAsync(array $args = [])
* @method \Aws\Result updateEventIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateEventIntegrationAsync(array $args = [])
*/
class AppIntegrationsServiceClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AppIntegrationsService\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **Amazon AppIntegrations Service** service.
*/
class AppIntegrationsServiceException extends AwsException {}

View File

@@ -43,5 +43,43 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateVirtualNodeAsync(array $args = [])
* @method \Aws\Result updateVirtualRouter(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateVirtualRouterAsync(array $args = [])
* @method \Aws\Result createGatewayRoute(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise createGatewayRouteAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result createVirtualGateway(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise createVirtualGatewayAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result createVirtualService(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise createVirtualServiceAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result deleteGatewayRoute(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise deleteGatewayRouteAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result deleteVirtualGateway(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise deleteVirtualGatewayAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result deleteVirtualService(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise deleteVirtualServiceAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result describeGatewayRoute(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise describeGatewayRouteAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result describeVirtualGateway(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise describeVirtualGatewayAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result describeVirtualService(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise describeVirtualServiceAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result listGatewayRoutes(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise listGatewayRoutesAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result listTagsForResource(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result listVirtualGateways(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise listVirtualGatewaysAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result listVirtualServices(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise listVirtualServicesAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result tagResource(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result untagResource(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result updateGatewayRoute(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise updateGatewayRouteAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result updateMesh(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise updateMeshAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result updateVirtualGateway(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise updateVirtualGatewayAsync(array $args = []) (supported in versions 2019-01-25)
* @method \Aws\Result updateVirtualService(array $args = []) (supported in versions 2019-01-25)
* @method \GuzzleHttp\Promise\Promise updateVirtualServiceAsync(array $args = []) (supported in versions 2019-01-25)
*/
class AppMeshClient extends AwsClient {}

View File

@@ -0,0 +1,57 @@
<?php
namespace Aws\AppRegistry;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Service Catalog App Registry** service.
* @method \Aws\Result associateAttributeGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateAttributeGroupAsync(array $args = [])
* @method \Aws\Result associateResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateResourceAsync(array $args = [])
* @method \Aws\Result createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createAttributeGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAttributeGroupAsync(array $args = [])
* @method \Aws\Result deleteApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = [])
* @method \Aws\Result deleteAttributeGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAttributeGroupAsync(array $args = [])
* @method \Aws\Result disassociateAttributeGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateAttributeGroupAsync(array $args = [])
* @method \Aws\Result disassociateResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateResourceAsync(array $args = [])
* @method \Aws\Result getApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApplicationAsync(array $args = [])
* @method \Aws\Result getAssociatedResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAssociatedResourceAsync(array $args = [])
* @method \Aws\Result getAttributeGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAttributeGroupAsync(array $args = [])
* @method \Aws\Result getConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getConfigurationAsync(array $args = [])
* @method \Aws\Result listApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = [])
* @method \Aws\Result listAssociatedAttributeGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssociatedAttributeGroupsAsync(array $args = [])
* @method \Aws\Result listAssociatedResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssociatedResourcesAsync(array $args = [])
* @method \Aws\Result listAttributeGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAttributeGroupsAsync(array $args = [])
* @method \Aws\Result listAttributeGroupsForApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAttributeGroupsForApplicationAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result putConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putConfigurationAsync(array $args = [])
* @method \Aws\Result syncResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise syncResourceAsync(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 updateApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = [])
* @method \Aws\Result updateAttributeGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAttributeGroupAsync(array $args = [])
*/
class AppRegistryClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AppRegistry\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Service Catalog App Registry** service.
*/
class AppRegistryException extends AwsException {}

View File

@@ -0,0 +1,79 @@
<?php
namespace Aws\AppRunner;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS App Runner** service.
* @method \Aws\Result associateCustomDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateCustomDomainAsync(array $args = [])
* @method \Aws\Result createAutoScalingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAutoScalingConfigurationAsync(array $args = [])
* @method \Aws\Result createConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise createConnectionAsync(array $args = [])
* @method \Aws\Result createObservabilityConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createObservabilityConfigurationAsync(array $args = [])
* @method \Aws\Result createService(array $args = [])
* @method \GuzzleHttp\Promise\Promise createServiceAsync(array $args = [])
* @method \Aws\Result createVpcConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise createVpcConnectorAsync(array $args = [])
* @method \Aws\Result createVpcIngressConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise createVpcIngressConnectionAsync(array $args = [])
* @method \Aws\Result deleteAutoScalingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAutoScalingConfigurationAsync(array $args = [])
* @method \Aws\Result deleteConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConnectionAsync(array $args = [])
* @method \Aws\Result deleteObservabilityConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteObservabilityConfigurationAsync(array $args = [])
* @method \Aws\Result deleteService(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteServiceAsync(array $args = [])
* @method \Aws\Result deleteVpcConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteVpcConnectorAsync(array $args = [])
* @method \Aws\Result deleteVpcIngressConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteVpcIngressConnectionAsync(array $args = [])
* @method \Aws\Result describeAutoScalingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAutoScalingConfigurationAsync(array $args = [])
* @method \Aws\Result describeCustomDomains(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeCustomDomainsAsync(array $args = [])
* @method \Aws\Result describeObservabilityConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeObservabilityConfigurationAsync(array $args = [])
* @method \Aws\Result describeService(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeServiceAsync(array $args = [])
* @method \Aws\Result describeVpcConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeVpcConnectorAsync(array $args = [])
* @method \Aws\Result describeVpcIngressConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeVpcIngressConnectionAsync(array $args = [])
* @method \Aws\Result disassociateCustomDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateCustomDomainAsync(array $args = [])
* @method \Aws\Result listAutoScalingConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAutoScalingConfigurationsAsync(array $args = [])
* @method \Aws\Result listConnections(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConnectionsAsync(array $args = [])
* @method \Aws\Result listObservabilityConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listObservabilityConfigurationsAsync(array $args = [])
* @method \Aws\Result listOperations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOperationsAsync(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 listVpcConnectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listVpcConnectorsAsync(array $args = [])
* @method \Aws\Result listVpcIngressConnections(array $args = [])
* @method \GuzzleHttp\Promise\Promise listVpcIngressConnectionsAsync(array $args = [])
* @method \Aws\Result pauseService(array $args = [])
* @method \GuzzleHttp\Promise\Promise pauseServiceAsync(array $args = [])
* @method \Aws\Result resumeService(array $args = [])
* @method \GuzzleHttp\Promise\Promise resumeServiceAsync(array $args = [])
* @method \Aws\Result startDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDeploymentAsync(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 updateService(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateServiceAsync(array $args = [])
* @method \Aws\Result updateVpcIngressConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateVpcIngressConnectionAsync(array $args = [])
*/
class AppRunnerClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AppRunner\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS App Runner** service.
*/
class AppRunnerException extends AwsException {}

View File

@@ -5,10 +5,16 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **AWS AppSync** service.
* @method \Aws\Result associateApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateApiAsync(array $args = [])
* @method \Aws\Result createApiCache(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApiCacheAsync(array $args = [])
* @method \Aws\Result createApiKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApiKeyAsync(array $args = [])
* @method \Aws\Result createDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDataSourceAsync(array $args = [])
* @method \Aws\Result createDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDomainNameAsync(array $args = [])
* @method \Aws\Result createFunction(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFunctionAsync(array $args = [])
* @method \Aws\Result createGraphqlApi(array $args = [])
@@ -17,10 +23,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createResolverAsync(array $args = [])
* @method \Aws\Result createType(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTypeAsync(array $args = [])
* @method \Aws\Result deleteApiCache(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApiCacheAsync(array $args = [])
* @method \Aws\Result deleteApiKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApiKeyAsync(array $args = [])
* @method \Aws\Result deleteDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDataSourceAsync(array $args = [])
* @method \Aws\Result deleteDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDomainNameAsync(array $args = [])
* @method \Aws\Result deleteFunction(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFunctionAsync(array $args = [])
* @method \Aws\Result deleteGraphqlApi(array $args = [])
@@ -29,8 +39,22 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteResolverAsync(array $args = [])
* @method \Aws\Result deleteType(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTypeAsync(array $args = [])
* @method \Aws\Result disassociateApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateApiAsync(array $args = [])
* @method \Aws\Result evaluateCode(array $args = [])
* @method \GuzzleHttp\Promise\Promise evaluateCodeAsync(array $args = [])
* @method \Aws\Result evaluateMappingTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise evaluateMappingTemplateAsync(array $args = [])
* @method \Aws\Result flushApiCache(array $args = [])
* @method \GuzzleHttp\Promise\Promise flushApiCacheAsync(array $args = [])
* @method \Aws\Result getApiAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApiAssociationAsync(array $args = [])
* @method \Aws\Result getApiCache(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApiCacheAsync(array $args = [])
* @method \Aws\Result getDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDataSourceAsync(array $args = [])
* @method \Aws\Result getDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDomainNameAsync(array $args = [])
* @method \Aws\Result getFunction(array $args = [])
* @method \GuzzleHttp\Promise\Promise getFunctionAsync(array $args = [])
* @method \Aws\Result getGraphqlApi(array $args = [])
@@ -47,6 +71,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listApiKeysAsync(array $args = [])
* @method \Aws\Result listDataSources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataSourcesAsync(array $args = [])
* @method \Aws\Result listDomainNames(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDomainNamesAsync(array $args = [])
* @method \Aws\Result listFunctions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFunctionsAsync(array $args = [])
* @method \Aws\Result listGraphqlApis(array $args = [])
@@ -55,14 +81,24 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listResolversAsync(array $args = [])
* @method \Aws\Result listResolversByFunction(array $args = [])
* @method \GuzzleHttp\Promise\Promise listResolversByFunctionAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result listTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTypesAsync(array $args = [])
* @method \Aws\Result startSchemaCreation(array $args = [])
* @method \GuzzleHttp\Promise\Promise startSchemaCreationAsync(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 updateApiCache(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApiCacheAsync(array $args = [])
* @method \Aws\Result updateApiKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApiKeyAsync(array $args = [])
* @method \Aws\Result updateDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDataSourceAsync(array $args = [])
* @method \Aws\Result updateDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDomainNameAsync(array $args = [])
* @method \Aws\Result updateFunction(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFunctionAsync(array $args = [])
* @method \Aws\Result updateGraphqlApi(array $args = [])

View File

@@ -0,0 +1,55 @@
<?php
namespace Aws\Appflow;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon Appflow** service.
* @method \Aws\Result createConnectorProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createConnectorProfileAsync(array $args = [])
* @method \Aws\Result createFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFlowAsync(array $args = [])
* @method \Aws\Result deleteConnectorProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConnectorProfileAsync(array $args = [])
* @method \Aws\Result deleteFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFlowAsync(array $args = [])
* @method \Aws\Result describeConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConnectorAsync(array $args = [])
* @method \Aws\Result describeConnectorEntity(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConnectorEntityAsync(array $args = [])
* @method \Aws\Result describeConnectorProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConnectorProfilesAsync(array $args = [])
* @method \Aws\Result describeConnectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConnectorsAsync(array $args = [])
* @method \Aws\Result describeFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFlowAsync(array $args = [])
* @method \Aws\Result describeFlowExecutionRecords(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFlowExecutionRecordsAsync(array $args = [])
* @method \Aws\Result listConnectorEntities(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConnectorEntitiesAsync(array $args = [])
* @method \Aws\Result listConnectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConnectorsAsync(array $args = [])
* @method \Aws\Result listFlows(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFlowsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result registerConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerConnectorAsync(array $args = [])
* @method \Aws\Result startFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise startFlowAsync(array $args = [])
* @method \Aws\Result stopFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopFlowAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result unregisterConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise unregisterConnectorAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateConnectorProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConnectorProfileAsync(array $args = [])
* @method \Aws\Result updateConnectorRegistration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConnectorRegistrationAsync(array $args = [])
* @method \Aws\Result updateFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFlowAsync(array $args = [])
*/
class AppflowClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\Appflow\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **Amazon Appflow** service.
*/
class AppflowException extends AwsException {}

View File

@@ -0,0 +1,21 @@
<?php
namespace Aws\ApplicationCostProfiler;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Application Cost Profiler** service.
* @method \Aws\Result deleteReportDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteReportDefinitionAsync(array $args = [])
* @method \Aws\Result getReportDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise getReportDefinitionAsync(array $args = [])
* @method \Aws\Result importApplicationUsage(array $args = [])
* @method \GuzzleHttp\Promise\Promise importApplicationUsageAsync(array $args = [])
* @method \Aws\Result listReportDefinitions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listReportDefinitionsAsync(array $args = [])
* @method \Aws\Result putReportDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise putReportDefinitionAsync(array $args = [])
* @method \Aws\Result updateReportDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateReportDefinitionAsync(array $args = [])
*/
class ApplicationCostProfilerClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\ApplicationCostProfiler\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Application Cost Profiler** service.
*/
class ApplicationCostProfilerException extends AwsException {}

View File

@@ -7,6 +7,8 @@ use Aws\AwsClient;
* This client is used to interact with the **AWS Application Discovery Service** service.
* @method \Aws\Result associateConfigurationItemsToApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateConfigurationItemsToApplicationAsync(array $args = [])
* @method \Aws\Result batchDeleteImportData(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDeleteImportDataAsync(array $args = [])
* @method \Aws\Result createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createTags(array $args = [])
@@ -25,6 +27,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeExportConfigurationsAsync(array $args = [])
* @method \Aws\Result describeExportTasks(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeExportTasksAsync(array $args = [])
* @method \Aws\Result describeImportTasks(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeImportTasksAsync(array $args = [])
* @method \Aws\Result describeTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = [])
* @method \Aws\Result disassociateConfigurationItemsFromApplication(array $args = [])
@@ -43,6 +47,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise startDataCollectionByAgentIdsAsync(array $args = [])
* @method \Aws\Result startExportTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startExportTaskAsync(array $args = [])
* @method \Aws\Result startImportTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startImportTaskAsync(array $args = [])
* @method \Aws\Result stopContinuousExport(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopContinuousExportAsync(array $args = [])
* @method \Aws\Result stopDataCollectionByAgentIds(array $args = [])

View File

@@ -0,0 +1,63 @@
<?php
namespace Aws\ApplicationInsights;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon CloudWatch Application Insights** service.
* @method \Aws\Result createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createComponent(array $args = [])
* @method \GuzzleHttp\Promise\Promise createComponentAsync(array $args = [])
* @method \Aws\Result createLogPattern(array $args = [])
* @method \GuzzleHttp\Promise\Promise createLogPatternAsync(array $args = [])
* @method \Aws\Result deleteApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = [])
* @method \Aws\Result deleteComponent(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteComponentAsync(array $args = [])
* @method \Aws\Result deleteLogPattern(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteLogPatternAsync(array $args = [])
* @method \Aws\Result describeApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeApplicationAsync(array $args = [])
* @method \Aws\Result describeComponent(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeComponentAsync(array $args = [])
* @method \Aws\Result describeComponentConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeComponentConfigurationAsync(array $args = [])
* @method \Aws\Result describeComponentConfigurationRecommendation(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeComponentConfigurationRecommendationAsync(array $args = [])
* @method \Aws\Result describeLogPattern(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLogPatternAsync(array $args = [])
* @method \Aws\Result describeObservation(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeObservationAsync(array $args = [])
* @method \Aws\Result describeProblem(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeProblemAsync(array $args = [])
* @method \Aws\Result describeProblemObservations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeProblemObservationsAsync(array $args = [])
* @method \Aws\Result listApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = [])
* @method \Aws\Result listComponents(array $args = [])
* @method \GuzzleHttp\Promise\Promise listComponentsAsync(array $args = [])
* @method \Aws\Result listConfigurationHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConfigurationHistoryAsync(array $args = [])
* @method \Aws\Result listLogPatternSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listLogPatternSetsAsync(array $args = [])
* @method \Aws\Result listLogPatterns(array $args = [])
* @method \GuzzleHttp\Promise\Promise listLogPatternsAsync(array $args = [])
* @method \Aws\Result listProblems(array $args = [])
* @method \GuzzleHttp\Promise\Promise listProblemsAsync(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 updateApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = [])
* @method \Aws\Result updateComponent(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateComponentAsync(array $args = [])
* @method \Aws\Result updateComponentConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateComponentConfigurationAsync(array $args = [])
* @method \Aws\Result updateLogPattern(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateLogPatternAsync(array $args = [])
*/
class ApplicationInsightsClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\ApplicationInsights\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **Amazon CloudWatch Application Insights** service.
*/
class ApplicationInsightsException extends AwsException {}

View File

@@ -5,6 +5,10 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon AppStream** service.
* @method \Aws\Result associateApplicationFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateApplicationFleetAsync(array $args = [])
* @method \Aws\Result associateApplicationToEntitlement(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateApplicationToEntitlementAsync(array $args = [])
* @method \Aws\Result associateFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateFleetAsync(array $args = [])
* @method \Aws\Result batchAssociateUserStack(array $args = [])
@@ -13,8 +17,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise batchDisassociateUserStackAsync(array $args = [])
* @method \Aws\Result copyImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise copyImageAsync(array $args = [])
* @method \Aws\Result createAppBlock(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAppBlockAsync(array $args = [])
* @method \Aws\Result createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createDirectoryConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDirectoryConfigAsync(array $args = [])
* @method \Aws\Result createEntitlement(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEntitlementAsync(array $args = [])
* @method \Aws\Result createFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFleetAsync(array $args = [])
* @method \Aws\Result createImageBuilder(array $args = [])
@@ -25,10 +35,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createStackAsync(array $args = [])
* @method \Aws\Result createStreamingURL(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStreamingURLAsync(array $args = [])
* @method \Aws\Result createUpdatedImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUpdatedImageAsync(array $args = [])
* @method \Aws\Result createUsageReportSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUsageReportSubscriptionAsync(array $args = [])
* @method \Aws\Result createUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = [])
* @method \Aws\Result deleteAppBlock(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAppBlockAsync(array $args = [])
* @method \Aws\Result deleteApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = [])
* @method \Aws\Result deleteDirectoryConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDirectoryConfigAsync(array $args = [])
* @method \Aws\Result deleteEntitlement(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEntitlementAsync(array $args = [])
* @method \Aws\Result deleteFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFleetAsync(array $args = [])
* @method \Aws\Result deleteImage(array $args = [])
@@ -39,10 +59,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteImagePermissionsAsync(array $args = [])
* @method \Aws\Result deleteStack(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteStackAsync(array $args = [])
* @method \Aws\Result deleteUsageReportSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUsageReportSubscriptionAsync(array $args = [])
* @method \Aws\Result deleteUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = [])
* @method \Aws\Result describeAppBlocks(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAppBlocksAsync(array $args = [])
* @method \Aws\Result describeApplicationFleetAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeApplicationFleetAssociationsAsync(array $args = [])
* @method \Aws\Result describeApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeApplicationsAsync(array $args = [])
* @method \Aws\Result describeDirectoryConfigs(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDirectoryConfigsAsync(array $args = [])
* @method \Aws\Result describeEntitlements(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEntitlementsAsync(array $args = [])
* @method \Aws\Result describeFleets(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFleetsAsync(array $args = [])
* @method \Aws\Result describeImageBuilders(array $args = [])
@@ -55,12 +85,18 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeSessionsAsync(array $args = [])
* @method \Aws\Result describeStacks(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStacksAsync(array $args = [])
* @method \Aws\Result describeUsageReportSubscriptions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUsageReportSubscriptionsAsync(array $args = [])
* @method \Aws\Result describeUserStackAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserStackAssociationsAsync(array $args = [])
* @method \Aws\Result describeUsers(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUsersAsync(array $args = [])
* @method \Aws\Result disableUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise disableUserAsync(array $args = [])
* @method \Aws\Result disassociateApplicationFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateApplicationFleetAsync(array $args = [])
* @method \Aws\Result disassociateApplicationFromEntitlement(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateApplicationFromEntitlementAsync(array $args = [])
* @method \Aws\Result disassociateFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateFleetAsync(array $args = [])
* @method \Aws\Result enableUser(array $args = [])
@@ -71,6 +107,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listAssociatedFleetsAsync(array $args = [])
* @method \Aws\Result listAssociatedStacks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssociatedStacksAsync(array $args = [])
* @method \Aws\Result listEntitledApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEntitledApplicationsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result startFleet(array $args = [])
@@ -85,8 +123,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = [])
* @method \Aws\Result updateDirectoryConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDirectoryConfigAsync(array $args = [])
* @method \Aws\Result updateEntitlement(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateEntitlementAsync(array $args = [])
* @method \Aws\Result updateFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFleetAsync(array $args = [])
* @method \Aws\Result updateImagePermissions(array $args = [])

View File

@@ -0,0 +1,66 @@
<?php
namespace Aws\Arn;
use Aws\Arn\Exception\InvalidArnException;
/**
* @internal
*/
class AccessPointArn extends Arn implements AccessPointArnInterface
{
use ResourceTypeAndIdTrait;
/**
* AccessPointArn constructor
*
* @param $data
*/
public function __construct($data)
{
parent::__construct($data);
static::validate($this->data);
}
public static function parse($string)
{
$data = parent::parse($string);
$data = self::parseResourceTypeAndId($data);
$data['accesspoint_name'] = $data['resource_id'];
return $data;
}
public function getAccesspointName()
{
return $this->data['accesspoint_name'];
}
/**
* Validation specific to AccessPointArn
*
* @param array $data
*/
protected static function validate(array $data)
{
self::validateRegion($data, 'access point ARN');
self::validateAccountId($data, 'access point ARN');
if ($data['resource_type'] !== 'accesspoint') {
throw new InvalidArnException("The 6th component of an access point ARN"
. " represents the resource type and must be 'accesspoint'.");
}
if (empty($data['resource_id'])) {
throw new InvalidArnException("The 7th component of an access point ARN"
. " represents the resource ID and must not be empty.");
}
if (strpos($data['resource_id'], ':') !== false) {
throw new InvalidArnException("The resource ID component of an access"
. " point ARN must not contain additional components"
. " (delimited by ':').");
}
if (!self::isValidHostLabel($data['resource_id'])) {
throw new InvalidArnException("The resource ID in an access point ARN"
. " must be a valid host label value.");
}
}
}

View File

@@ -0,0 +1,10 @@
<?php
namespace Aws\Arn;
/**
* @internal
*/
interface AccessPointArnInterface extends ArnInterface
{
public function getAccesspointName();
}

188
vendor/aws/aws-sdk-php/src/Arn/Arn.php vendored Normal file
View File

@@ -0,0 +1,188 @@
<?php
namespace Aws\Arn;
use Aws\Arn\Exception\InvalidArnException;
/**
* Amazon Resource Names (ARNs) uniquely identify AWS resources. The Arn class
* parses and stores a generic ARN object representation that can apply to any
* service resource.
*
* @internal
*/
class Arn implements ArnInterface
{
protected $data;
protected $string;
public static function parse($string)
{
$data = [
'arn' => null,
'partition' => null,
'service' => null,
'region' => null,
'account_id' => null,
'resource' => null,
];
$length = strlen($string);
$lastDelim = 0;
$numComponents = 0;
for ($i = 0; $i < $length; $i++) {
if (($numComponents < 5 && $string[$i] === ':')) {
// Split components between delimiters
$data[key($data)] = substr($string, $lastDelim, $i - $lastDelim);
// Do not include delimiter character itself
$lastDelim = $i + 1;
next($data);
$numComponents++;
}
if ($i === $length - 1) {
// Put the remainder in the last component.
if (in_array($numComponents, [5])) {
$data['resource'] = substr($string, $lastDelim);
} else {
// If there are < 5 components, put remainder in current
// component.
$data[key($data)] = substr($string, $lastDelim);
}
}
}
return $data;
}
public function __construct($data)
{
if (is_array($data)) {
$this->data = $data;
} elseif (is_string($data)) {
$this->data = static::parse($data);
} else {
throw new InvalidArnException('Constructor accepts a string or an'
. ' array as an argument.');
}
static::validate($this->data);
}
public function __toString()
{
if (!isset($this->string)) {
$components = [
$this->getPrefix(),
$this->getPartition(),
$this->getService(),
$this->getRegion(),
$this->getAccountId(),
$this->getResource(),
];
$this->string = implode(':', $components);
}
return $this->string;
}
public function getPrefix()
{
return $this->data['arn'];
}
public function getPartition()
{
return $this->data['partition'];
}
public function getService()
{
return $this->data['service'];
}
public function getRegion()
{
return $this->data['region'];
}
public function getAccountId()
{
return $this->data['account_id'];
}
public function getResource()
{
return $this->data['resource'];
}
public function toArray()
{
return $this->data;
}
/**
* Minimally restrictive generic ARN validation
*
* @param array $data
*/
protected static function validate(array $data)
{
if ($data['arn'] !== 'arn') {
throw new InvalidArnException("The 1st component of an ARN must be"
. " 'arn'.");
}
if (empty($data['partition'])) {
throw new InvalidArnException("The 2nd component of an ARN"
. " represents the partition and must not be empty.");
}
if (empty($data['service'])) {
throw new InvalidArnException("The 3rd component of an ARN"
. " represents the service and must not be empty.");
}
if (empty($data['resource'])) {
throw new InvalidArnException("The 6th component of an ARN"
. " represents the resource information and must not be empty."
. " Individual service ARNs may include additional delimiters"
. " to further qualify resources.");
}
}
protected static function validateAccountId($data, $arnName)
{
if (!self::isValidHostLabel($data['account_id'])) {
throw new InvalidArnException("The 5th component of a {$arnName}"
. " is required, represents the account ID, and"
. " must be a valid host label.");
}
}
protected static function validateRegion($data, $arnName)
{
if (empty($data['region'])) {
throw new InvalidArnException("The 4th component of a {$arnName}"
. " represents the region and must not be empty.");
}
}
/**
* Validates whether a string component is a valid host label
*
* @param $string
* @return bool
*/
protected static function isValidHostLabel($string)
{
if (empty($string) || strlen($string) > 63) {
return false;
}
if ($value = preg_match("/^[a-zA-Z0-9-]+$/", $string)) {
return true;
}
return false;
}
}

View File

@@ -0,0 +1,37 @@
<?php
namespace Aws\Arn;
/**
* Amazon Resource Names (ARNs) uniquely identify AWS resources. Classes
* implementing ArnInterface parse and store an ARN object representation.
*
* Valid ARN formats include:
*
* arn:partition:service:region:account-id:resource-id
* arn:partition:service:region:account-id:resource-type/resource-id
* arn:partition:service:region:account-id:resource-type:resource-id
*
* Some components may be omitted, depending on the service and resource type.
*
* @internal
*/
interface ArnInterface
{
public static function parse($string);
public function __toString();
public function getPrefix();
public function getPartition();
public function getService();
public function getRegion();
public function getAccountId();
public function getResource();
public function toArray();
}

View File

@@ -0,0 +1,69 @@
<?php
namespace Aws\Arn;
use Aws\Arn\S3\AccessPointArn as S3AccessPointArn;
use Aws\Arn\ObjectLambdaAccessPointArn;
use Aws\Arn\S3\MultiRegionAccessPointArn;
use Aws\Arn\S3\OutpostsBucketArn;
use Aws\Arn\S3\RegionalBucketArn;
use Aws\Arn\S3\OutpostsAccessPointArn;
/**
* This class provides functionality to parse ARN strings and return a
* corresponding ARN object. ARN-parsing logic may be subject to change in the
* future, so this should not be relied upon for external customer usage.
*
* @internal
*/
class ArnParser
{
/**
* @param $string
* @return bool
*/
public static function isArn($string)
{
return $string !== null && strpos($string, 'arn:') === 0;
}
/**
* Parses a string and returns an instance of ArnInterface. Returns a
* specific type of Arn object if it has a specific class representation
* or a generic Arn object if not.
*
* @param $string
* @return ArnInterface
*/
public static function parse($string)
{
$data = Arn::parse($string);
if ($data['service'] === 's3-object-lambda') {
return new ObjectLambdaAccessPointArn($string);
}
$resource = self::explodeResourceComponent($data['resource']);
if ($resource[0] === 'outpost') {
if (isset($resource[2]) && $resource[2] === 'bucket') {
return new OutpostsBucketArn($string);
}
if (isset($resource[2]) && $resource[2] === 'accesspoint') {
return new OutpostsAccessPointArn($string);
}
}
if (empty($data['region'])) {
return new MultiRegionAccessPointArn($string);
}
if ($resource[0] === 'accesspoint') {
if ($data['service'] === 's3') {
return new S3AccessPointArn($string);
}
return new AccessPointArn($string);
}
return new Arn($data);
}
private static function explodeResourceComponent($resource)
{
return preg_split("/[\/:]/", $resource);
}
}

View File

@@ -0,0 +1,7 @@
<?php
namespace Aws\Arn\Exception;
/**
* Represents a failed attempt to construct an Arn
*/
class InvalidArnException extends \RuntimeException {}

View File

@@ -0,0 +1,35 @@
<?php
namespace Aws\Arn;
/**
* This class represents an S3 Object bucket ARN, which is in the
* following format:
*
* @internal
*/
class ObjectLambdaAccessPointArn extends AccessPointArn
{
/**
* Parses a string into an associative array of components that represent
* a ObjectLambdaAccessPointArn
*
* @param $string
* @return array
*/
public static function parse($string)
{
$data = parent::parse($string);
return parent::parseResourceTypeAndId($data);
}
/**
*
* @param array $data
*/
protected static function validate(array $data)
{
parent::validate($data);
self::validateRegion($data, 'S3 Object Lambda ARN');
self::validateAccountId($data, 'S3 Object Lambda ARN');
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace Aws\Arn;
/**
* @internal
*/
trait ResourceTypeAndIdTrait
{
public function getResourceType()
{
return $this->data['resource_type'];
}
public function getResourceId()
{
return $this->data['resource_id'];
}
protected static function parseResourceTypeAndId(array $data)
{
$resourceData = preg_split("/[\/:]/", $data['resource'], 2);
$data['resource_type'] = isset($resourceData[0])
? $resourceData[0]
: null;
$data['resource_id'] = isset($resourceData[1])
? $resourceData[1]
: null;
return $data;
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace Aws\Arn\S3;
use Aws\Arn\AccessPointArn as BaseAccessPointArn;
use Aws\Arn\AccessPointArnInterface;
use Aws\Arn\ArnInterface;
use Aws\Arn\Exception\InvalidArnException;
/**
* @internal
*/
class AccessPointArn extends BaseAccessPointArn implements AccessPointArnInterface
{
/**
* Validation specific to AccessPointArn
*
* @param array $data
*/
public static function validate(array $data)
{
parent::validate($data);
if ($data['service'] !== 's3') {
throw new InvalidArnException("The 3rd component of an S3 access"
. " point ARN represents the region and must be 's3'.");
}
}
}

View File

@@ -0,0 +1,12 @@
<?php
namespace Aws\Arn\S3;
use Aws\Arn\ArnInterface;
/**
* @internal
*/
interface BucketArnInterface extends ArnInterface
{
public function getBucketName();
}

View File

@@ -0,0 +1,38 @@
<?php
namespace Aws\Arn\S3;
use Aws\Arn\Arn;
use Aws\Arn\ResourceTypeAndIdTrait;
/**
* This class represents an S3 multi-region bucket ARN, which is in the
* following format:
*
* @internal
*/
class MultiRegionAccessPointArn extends AccessPointArn
{
use ResourceTypeAndIdTrait;
/**
* Parses a string into an associative array of components that represent
* a MultiRegionArn
*
* @param $string
* @return array
*/
public static function parse($string)
{
return parent::parse($string);
}
/**
*
* @param array $data
*/
public static function validate(array $data)
{
Arn::validate($data);
}
}

View File

@@ -0,0 +1,110 @@
<?php
namespace Aws\Arn\S3;
use Aws\Arn\AccessPointArn as BaseAccessPointArn;
use Aws\Arn\AccessPointArnInterface;
use Aws\Arn\Arn;
use Aws\Arn\Exception\InvalidArnException;
/**
* This class represents an S3 Outposts access point ARN, which is in the
* following format:
*
* arn:{partition}:s3-outposts:{region}:{accountId}:outpost:{outpostId}:accesspoint:{accesspointName}
*
* ':' and '/' can be used interchangeably as delimiters for components after
* the account ID.
*
* @internal
*/
class OutpostsAccessPointArn extends BaseAccessPointArn implements
AccessPointArnInterface,
OutpostsArnInterface
{
public static function parse($string)
{
$data = parent::parse($string);
return self::parseOutpostData($data);
}
public function getOutpostId()
{
return $this->data['outpost_id'];
}
public function getAccesspointName()
{
return $this->data['accesspoint_name'];
}
private static function parseOutpostData(array $data)
{
$resourceData = preg_split("/[\/:]/", $data['resource_id']);
$data['outpost_id'] = isset($resourceData[0])
? $resourceData[0]
: null;
$data['accesspoint_type'] = isset($resourceData[1])
? $resourceData[1]
: null;
$data['accesspoint_name'] = isset($resourceData[2])
? $resourceData[2]
: null;
if (isset($resourceData[3])) {
$data['resource_extra'] = implode(':', array_slice($resourceData, 3));
}
return $data;
}
/**
* Validation specific to OutpostsAccessPointArn. Note this uses the base Arn
* class validation instead of the direct parent due to it having slightly
* differing requirements from its parent.
*
* @param array $data
*/
public static function validate(array $data)
{
Arn::validate($data);
if (($data['service'] !== 's3-outposts')) {
throw new InvalidArnException("The 3rd component of an S3 Outposts"
. " access point ARN represents the service and must be"
. " 's3-outposts'.");
}
self::validateRegion($data, 'S3 Outposts access point ARN');
self::validateAccountId($data, 'S3 Outposts access point ARN');
if (($data['resource_type'] !== 'outpost')) {
throw new InvalidArnException("The 6th component of an S3 Outposts"
. " access point ARN represents the resource type and must be"
. " 'outpost'.");
}
if (!self::isValidHostLabel($data['outpost_id'])) {
throw new InvalidArnException("The 7th component of an S3 Outposts"
. " access point ARN is required, represents the outpost ID, and"
. " must be a valid host label.");
}
if ($data['accesspoint_type'] !== 'accesspoint') {
throw new InvalidArnException("The 8th component of an S3 Outposts"
. " access point ARN must be 'accesspoint'");
}
if (!self::isValidHostLabel($data['accesspoint_name'])) {
throw new InvalidArnException("The 9th component of an S3 Outposts"
. " access point ARN is required, represents the accesspoint name,"
. " and must be a valid host label.");
}
if (!empty($data['resource_extra'])) {
throw new InvalidArnException("An S3 Outposts access point ARN"
. " should only have 9 components, delimited by the characters"
. " ':' and '/'. '{$data['resource_extra']}' was found after the"
. " 9th component.");
}
}
}

View File

@@ -0,0 +1,12 @@
<?php
namespace Aws\Arn\S3;
use Aws\Arn\ArnInterface;
/**
* @internal
*/
interface OutpostsArnInterface extends ArnInterface
{
public function getOutpostId();
}

View File

@@ -0,0 +1,99 @@
<?php
namespace Aws\Arn\S3;
use Aws\Arn\Arn;
use Aws\Arn\Exception\InvalidArnException;
use Aws\Arn\ResourceTypeAndIdTrait;
/**
* This class represents an S3 Outposts bucket ARN, which is in the
* following format:
*
* @internal
*/
class OutpostsBucketArn extends Arn implements
BucketArnInterface,
OutpostsArnInterface
{
use ResourceTypeAndIdTrait;
/**
* Parses a string into an associative array of components that represent
* a OutpostsBucketArn
*
* @param $string
* @return array
*/
public static function parse($string)
{
$data = parent::parse($string);
$data = self::parseResourceTypeAndId($data);
return self::parseOutpostData($data);
}
public function getBucketName()
{
return $this->data['bucket_name'];
}
public function getOutpostId()
{
return $this->data['outpost_id'];
}
private static function parseOutpostData(array $data)
{
$resourceData = preg_split("/[\/:]/", $data['resource_id'], 3);
$data['outpost_id'] = isset($resourceData[0])
? $resourceData[0]
: null;
$data['bucket_label'] = isset($resourceData[1])
? $resourceData[1]
: null;
$data['bucket_name'] = isset($resourceData[2])
? $resourceData[2]
: null;
return $data;
}
/**
*
* @param array $data
*/
public static function validate(array $data)
{
Arn::validate($data);
if (($data['service'] !== 's3-outposts')) {
throw new InvalidArnException("The 3rd component of an S3 Outposts"
. " bucket ARN represents the service and must be 's3-outposts'.");
}
self::validateRegion($data, 'S3 Outposts bucket ARN');
self::validateAccountId($data, 'S3 Outposts bucket ARN');
if (($data['resource_type'] !== 'outpost')) {
throw new InvalidArnException("The 6th component of an S3 Outposts"
. " bucket ARN represents the resource type and must be"
. " 'outpost'.");
}
if (!self::isValidHostLabel($data['outpost_id'])) {
throw new InvalidArnException("The 7th component of an S3 Outposts"
. " bucket ARN is required, represents the outpost ID, and"
. " must be a valid host label.");
}
if ($data['bucket_label'] !== 'bucket') {
throw new InvalidArnException("The 8th component of an S3 Outposts"
. " bucket ARN must be 'bucket'");
}
if (empty($data['bucket_name'])) {
throw new InvalidArnException("The 9th component of an S3 Outposts"
. " bucket ARN represents the bucket name and must not be empty.");
}
}
}

View File

@@ -7,25 +7,123 @@ use Aws\AwsClient;
* This client is used to interact with the **Amazon Athena** service.
* @method \Aws\Result batchGetNamedQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetNamedQueryAsync(array $args = [])
* @method \Aws\Result batchGetPreparedStatement(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetPreparedStatementAsync(array $args = [])
* @method \Aws\Result batchGetQueryExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetQueryExecutionAsync(array $args = [])
* @method \Aws\Result createDataCatalog(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDataCatalogAsync(array $args = [])
* @method \Aws\Result createNamedQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNamedQueryAsync(array $args = [])
* @method \Aws\Result createNotebook(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNotebookAsync(array $args = [])
* @method \Aws\Result createPreparedStatement(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPreparedStatementAsync(array $args = [])
* @method \Aws\Result createPresignedNotebookUrl(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPresignedNotebookUrlAsync(array $args = [])
* @method \Aws\Result createWorkGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise createWorkGroupAsync(array $args = [])
* @method \Aws\Result deleteDataCatalog(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDataCatalogAsync(array $args = [])
* @method \Aws\Result deleteNamedQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNamedQueryAsync(array $args = [])
* @method \Aws\Result deleteNotebook(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNotebookAsync(array $args = [])
* @method \Aws\Result deletePreparedStatement(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePreparedStatementAsync(array $args = [])
* @method \Aws\Result deleteWorkGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteWorkGroupAsync(array $args = [])
* @method \Aws\Result exportNotebook(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportNotebookAsync(array $args = [])
* @method \Aws\Result getCalculationExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCalculationExecutionAsync(array $args = [])
* @method \Aws\Result getCalculationExecutionCode(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCalculationExecutionCodeAsync(array $args = [])
* @method \Aws\Result getCalculationExecutionStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCalculationExecutionStatusAsync(array $args = [])
* @method \Aws\Result getDataCatalog(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDataCatalogAsync(array $args = [])
* @method \Aws\Result getDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDatabaseAsync(array $args = [])
* @method \Aws\Result getNamedQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise getNamedQueryAsync(array $args = [])
* @method \Aws\Result getNotebookMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise getNotebookMetadataAsync(array $args = [])
* @method \Aws\Result getPreparedStatement(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPreparedStatementAsync(array $args = [])
* @method \Aws\Result getQueryExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise getQueryExecutionAsync(array $args = [])
* @method \Aws\Result getQueryResults(array $args = [])
* @method \GuzzleHttp\Promise\Promise getQueryResultsAsync(array $args = [])
* @method \Aws\Result getQueryRuntimeStatistics(array $args = [])
* @method \GuzzleHttp\Promise\Promise getQueryRuntimeStatisticsAsync(array $args = [])
* @method \Aws\Result getSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSessionAsync(array $args = [])
* @method \Aws\Result getSessionStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSessionStatusAsync(array $args = [])
* @method \Aws\Result getTableMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTableMetadataAsync(array $args = [])
* @method \Aws\Result getWorkGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise getWorkGroupAsync(array $args = [])
* @method \Aws\Result importNotebook(array $args = [])
* @method \GuzzleHttp\Promise\Promise importNotebookAsync(array $args = [])
* @method \Aws\Result listApplicationDPUSizes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationDPUSizesAsync(array $args = [])
* @method \Aws\Result listCalculationExecutions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCalculationExecutionsAsync(array $args = [])
* @method \Aws\Result listDataCatalogs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataCatalogsAsync(array $args = [])
* @method \Aws\Result listDatabases(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDatabasesAsync(array $args = [])
* @method \Aws\Result listEngineVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEngineVersionsAsync(array $args = [])
* @method \Aws\Result listExecutors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExecutorsAsync(array $args = [])
* @method \Aws\Result listNamedQueries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNamedQueriesAsync(array $args = [])
* @method \Aws\Result listNotebookMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNotebookMetadataAsync(array $args = [])
* @method \Aws\Result listNotebookSessions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNotebookSessionsAsync(array $args = [])
* @method \Aws\Result listPreparedStatements(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPreparedStatementsAsync(array $args = [])
* @method \Aws\Result listQueryExecutions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listQueryExecutionsAsync(array $args = [])
* @method \Aws\Result listSessions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSessionsAsync(array $args = [])
* @method \Aws\Result listTableMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTableMetadataAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result listWorkGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listWorkGroupsAsync(array $args = [])
* @method \Aws\Result startCalculationExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise startCalculationExecutionAsync(array $args = [])
* @method \Aws\Result startQueryExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise startQueryExecutionAsync(array $args = [])
* @method \Aws\Result startSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise startSessionAsync(array $args = [])
* @method \Aws\Result stopCalculationExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopCalculationExecutionAsync(array $args = [])
* @method \Aws\Result stopQueryExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopQueryExecutionAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result terminateSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise terminateSessionAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateDataCatalog(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDataCatalogAsync(array $args = [])
* @method \Aws\Result updateNamedQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNamedQueryAsync(array $args = [])
* @method \Aws\Result updateNotebook(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNotebookAsync(array $args = [])
* @method \Aws\Result updateNotebookMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNotebookMetadataAsync(array $args = [])
* @method \Aws\Result updatePreparedStatement(array $args = [])
* @method \GuzzleHttp\Promise\Promise updatePreparedStatementAsync(array $args = [])
* @method \Aws\Result updateWorkGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateWorkGroupAsync(array $args = [])
*/
class AthenaClient extends AwsClient {}

View File

@@ -0,0 +1,131 @@
<?php
namespace Aws\AuditManager;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Audit Manager** service.
* @method \Aws\Result associateAssessmentReportEvidenceFolder(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateAssessmentReportEvidenceFolderAsync(array $args = [])
* @method \Aws\Result batchAssociateAssessmentReportEvidence(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchAssociateAssessmentReportEvidenceAsync(array $args = [])
* @method \Aws\Result batchCreateDelegationByAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchCreateDelegationByAssessmentAsync(array $args = [])
* @method \Aws\Result batchDeleteDelegationByAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDeleteDelegationByAssessmentAsync(array $args = [])
* @method \Aws\Result batchDisassociateAssessmentReportEvidence(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDisassociateAssessmentReportEvidenceAsync(array $args = [])
* @method \Aws\Result batchImportEvidenceToAssessmentControl(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchImportEvidenceToAssessmentControlAsync(array $args = [])
* @method \Aws\Result createAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAssessmentAsync(array $args = [])
* @method \Aws\Result createAssessmentFramework(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAssessmentFrameworkAsync(array $args = [])
* @method \Aws\Result createAssessmentReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAssessmentReportAsync(array $args = [])
* @method \Aws\Result createControl(array $args = [])
* @method \GuzzleHttp\Promise\Promise createControlAsync(array $args = [])
* @method \Aws\Result deleteAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAssessmentAsync(array $args = [])
* @method \Aws\Result deleteAssessmentFramework(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAssessmentFrameworkAsync(array $args = [])
* @method \Aws\Result deleteAssessmentFrameworkShare(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAssessmentFrameworkShareAsync(array $args = [])
* @method \Aws\Result deleteAssessmentReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAssessmentReportAsync(array $args = [])
* @method \Aws\Result deleteControl(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteControlAsync(array $args = [])
* @method \Aws\Result deregisterAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterAccountAsync(array $args = [])
* @method \Aws\Result deregisterOrganizationAdminAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterOrganizationAdminAccountAsync(array $args = [])
* @method \Aws\Result disassociateAssessmentReportEvidenceFolder(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateAssessmentReportEvidenceFolderAsync(array $args = [])
* @method \Aws\Result getAccountStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountStatusAsync(array $args = [])
* @method \Aws\Result getAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAssessmentAsync(array $args = [])
* @method \Aws\Result getAssessmentFramework(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAssessmentFrameworkAsync(array $args = [])
* @method \Aws\Result getAssessmentReportUrl(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAssessmentReportUrlAsync(array $args = [])
* @method \Aws\Result getChangeLogs(array $args = [])
* @method \GuzzleHttp\Promise\Promise getChangeLogsAsync(array $args = [])
* @method \Aws\Result getControl(array $args = [])
* @method \GuzzleHttp\Promise\Promise getControlAsync(array $args = [])
* @method \Aws\Result getDelegations(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDelegationsAsync(array $args = [])
* @method \Aws\Result getEvidence(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEvidenceAsync(array $args = [])
* @method \Aws\Result getEvidenceByEvidenceFolder(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEvidenceByEvidenceFolderAsync(array $args = [])
* @method \Aws\Result getEvidenceFolder(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEvidenceFolderAsync(array $args = [])
* @method \Aws\Result getEvidenceFoldersByAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEvidenceFoldersByAssessmentAsync(array $args = [])
* @method \Aws\Result getEvidenceFoldersByAssessmentControl(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEvidenceFoldersByAssessmentControlAsync(array $args = [])
* @method \Aws\Result getInsights(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInsightsAsync(array $args = [])
* @method \Aws\Result getInsightsByAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInsightsByAssessmentAsync(array $args = [])
* @method \Aws\Result getOrganizationAdminAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise getOrganizationAdminAccountAsync(array $args = [])
* @method \Aws\Result getServicesInScope(array $args = [])
* @method \GuzzleHttp\Promise\Promise getServicesInScopeAsync(array $args = [])
* @method \Aws\Result getSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSettingsAsync(array $args = [])
* @method \Aws\Result listAssessmentControlInsightsByControlDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssessmentControlInsightsByControlDomainAsync(array $args = [])
* @method \Aws\Result listAssessmentFrameworkShareRequests(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssessmentFrameworkShareRequestsAsync(array $args = [])
* @method \Aws\Result listAssessmentFrameworks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssessmentFrameworksAsync(array $args = [])
* @method \Aws\Result listAssessmentReports(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssessmentReportsAsync(array $args = [])
* @method \Aws\Result listAssessments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssessmentsAsync(array $args = [])
* @method \Aws\Result listControlDomainInsights(array $args = [])
* @method \GuzzleHttp\Promise\Promise listControlDomainInsightsAsync(array $args = [])
* @method \Aws\Result listControlDomainInsightsByAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise listControlDomainInsightsByAssessmentAsync(array $args = [])
* @method \Aws\Result listControlInsightsByControlDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise listControlInsightsByControlDomainAsync(array $args = [])
* @method \Aws\Result listControls(array $args = [])
* @method \GuzzleHttp\Promise\Promise listControlsAsync(array $args = [])
* @method \Aws\Result listKeywordsForDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listKeywordsForDataSourceAsync(array $args = [])
* @method \Aws\Result listNotifications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNotificationsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result registerAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerAccountAsync(array $args = [])
* @method \Aws\Result registerOrganizationAdminAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerOrganizationAdminAccountAsync(array $args = [])
* @method \Aws\Result startAssessmentFrameworkShare(array $args = [])
* @method \GuzzleHttp\Promise\Promise startAssessmentFrameworkShareAsync(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 updateAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAssessmentAsync(array $args = [])
* @method \Aws\Result updateAssessmentControl(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAssessmentControlAsync(array $args = [])
* @method \Aws\Result updateAssessmentControlSetStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAssessmentControlSetStatusAsync(array $args = [])
* @method \Aws\Result updateAssessmentFramework(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAssessmentFrameworkAsync(array $args = [])
* @method \Aws\Result updateAssessmentFrameworkShare(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAssessmentFrameworkShareAsync(array $args = [])
* @method \Aws\Result updateAssessmentStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAssessmentStatusAsync(array $args = [])
* @method \Aws\Result updateControl(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateControlAsync(array $args = [])
* @method \Aws\Result updateSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateSettingsAsync(array $args = [])
* @method \Aws\Result validateAssessmentReportIntegrity(array $args = [])
* @method \GuzzleHttp\Promise\Promise validateAssessmentReportIntegrityAsync(array $args = [])
*/
class AuditManagerClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AuditManager\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Audit Manager** service.
*/
class AuditManagerException extends AwsException {}

View File

@@ -0,0 +1,19 @@
<?php
namespace Aws\AugmentedAIRuntime;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon Augmented AI Runtime** service.
* @method \Aws\Result deleteHumanLoop(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteHumanLoopAsync(array $args = [])
* @method \Aws\Result describeHumanLoop(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeHumanLoopAsync(array $args = [])
* @method \Aws\Result listHumanLoops(array $args = [])
* @method \GuzzleHttp\Promise\Promise listHumanLoopsAsync(array $args = [])
* @method \Aws\Result startHumanLoop(array $args = [])
* @method \GuzzleHttp\Promise\Promise startHumanLoopAsync(array $args = [])
* @method \Aws\Result stopHumanLoop(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopHumanLoopAsync(array $args = [])
*/
class AugmentedAIRuntimeClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\AugmentedAIRuntime\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **Amazon Augmented AI Runtime** service.
*/
class AugmentedAIRuntimeException extends AwsException {}

View File

@@ -12,10 +12,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise attachLoadBalancerTargetGroupsAsync(array $args = [])
* @method \Aws\Result attachLoadBalancers(array $args = [])
* @method \GuzzleHttp\Promise\Promise attachLoadBalancersAsync(array $args = [])
* @method \Aws\Result attachTrafficSources(array $args = [])
* @method \GuzzleHttp\Promise\Promise attachTrafficSourcesAsync(array $args = [])
* @method \Aws\Result batchDeleteScheduledAction(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDeleteScheduledActionAsync(array $args = [])
* @method \Aws\Result batchPutScheduledUpdateGroupAction(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchPutScheduledUpdateGroupActionAsync(array $args = [])
* @method \Aws\Result cancelInstanceRefresh(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelInstanceRefreshAsync(array $args = [])
* @method \Aws\Result completeLifecycleAction(array $args = [])
* @method \GuzzleHttp\Promise\Promise completeLifecycleActionAsync(array $args = [])
* @method \Aws\Result createAutoScalingGroup(array $args = [])
@@ -38,6 +42,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteScheduledActionAsync(array $args = [])
* @method \Aws\Result deleteTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = [])
* @method \Aws\Result deleteWarmPool(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteWarmPoolAsync(array $args = [])
* @method \Aws\Result describeAccountLimits(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAccountLimitsAsync(array $args = [])
* @method \Aws\Result describeAdjustmentTypes(array $args = [])
@@ -48,6 +54,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeAutoScalingInstancesAsync(array $args = [])
* @method \Aws\Result describeAutoScalingNotificationTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAutoScalingNotificationTypesAsync(array $args = [])
* @method \Aws\Result describeInstanceRefreshes(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeInstanceRefreshesAsync(array $args = [])
* @method \Aws\Result describeLaunchConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLaunchConfigurationsAsync(array $args = [])
* @method \Aws\Result describeLifecycleHookTypes(array $args = [])
@@ -74,12 +82,18 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = [])
* @method \Aws\Result describeTerminationPolicyTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTerminationPolicyTypesAsync(array $args = [])
* @method \Aws\Result describeTrafficSources(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTrafficSourcesAsync(array $args = [])
* @method \Aws\Result describeWarmPool(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeWarmPoolAsync(array $args = [])
* @method \Aws\Result detachInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachInstancesAsync(array $args = [])
* @method \Aws\Result detachLoadBalancerTargetGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachLoadBalancerTargetGroupsAsync(array $args = [])
* @method \Aws\Result detachLoadBalancers(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachLoadBalancersAsync(array $args = [])
* @method \Aws\Result detachTrafficSources(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachTrafficSourcesAsync(array $args = [])
* @method \Aws\Result disableMetricsCollection(array $args = [])
* @method \GuzzleHttp\Promise\Promise disableMetricsCollectionAsync(array $args = [])
* @method \Aws\Result enableMetricsCollection(array $args = [])
@@ -90,6 +104,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise executePolicyAsync(array $args = [])
* @method \Aws\Result exitStandby(array $args = [])
* @method \GuzzleHttp\Promise\Promise exitStandbyAsync(array $args = [])
* @method \Aws\Result getPredictiveScalingForecast(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPredictiveScalingForecastAsync(array $args = [])
* @method \Aws\Result putLifecycleHook(array $args = [])
* @method \GuzzleHttp\Promise\Promise putLifecycleHookAsync(array $args = [])
* @method \Aws\Result putNotificationConfiguration(array $args = [])
@@ -98,6 +114,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise putScalingPolicyAsync(array $args = [])
* @method \Aws\Result putScheduledUpdateGroupAction(array $args = [])
* @method \GuzzleHttp\Promise\Promise putScheduledUpdateGroupActionAsync(array $args = [])
* @method \Aws\Result putWarmPool(array $args = [])
* @method \GuzzleHttp\Promise\Promise putWarmPoolAsync(array $args = [])
* @method \Aws\Result recordLifecycleActionHeartbeat(array $args = [])
* @method \GuzzleHttp\Promise\Promise recordLifecycleActionHeartbeatAsync(array $args = [])
* @method \Aws\Result resumeProcesses(array $args = [])
@@ -108,6 +126,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise setInstanceHealthAsync(array $args = [])
* @method \Aws\Result setInstanceProtection(array $args = [])
* @method \GuzzleHttp\Promise\Promise setInstanceProtectionAsync(array $args = [])
* @method \Aws\Result startInstanceRefresh(array $args = [])
* @method \GuzzleHttp\Promise\Promise startInstanceRefreshAsync(array $args = [])
* @method \Aws\Result suspendProcesses(array $args = [])
* @method \GuzzleHttp\Promise\Promise suspendProcessesAsync(array $args = [])
* @method \Aws\Result terminateInstanceInAutoScalingGroup(array $args = [])

View File

@@ -7,6 +7,8 @@ use Aws\Api\Service;
use Aws\ClientSideMonitoring\ApiCallAttemptMonitoringMiddleware;
use Aws\ClientSideMonitoring\ApiCallMonitoringMiddleware;
use Aws\ClientSideMonitoring\ConfigurationProvider;
use Aws\EndpointDiscovery\EndpointDiscoveryMiddleware;
use Aws\EndpointV2\EndpointProviderV2;
use Aws\Signature\SignatureProvider;
use GuzzleHttp\Psr7\Uri;
@@ -17,6 +19,9 @@ class AwsClient implements AwsClientInterface
{
use AwsClientTrait;
/** @var array */
private $aliases;
/** @var array */
private $config;
@@ -35,12 +40,27 @@ class AwsClient implements AwsClientInterface
/** @var callable */
private $credentialProvider;
/** @var callable */
private $tokenProvider;
/** @var HandlerList */
private $handlerList;
/** @var array*/
private $defaultRequestOptions;
/** @var array*/
private $clientContextParams = [];
/** @var array*/
protected $clientBuiltIns = [];
/** @var EndpointProviderV2 | callable */
protected $endpointProvider;
/** @var callable */
protected $serializer;
/**
* Get an array of client constructor arguments used by the client.
*
@@ -67,6 +87,25 @@ class AwsClient implements AwsClientInterface
* credentials or return null. See Aws\Credentials\CredentialProvider for
* a list of built-in credentials providers. If no credentials are
* provided, the SDK will attempt to load them from the environment.
* - token:
* (Aws\Token\TokenInterface|array|bool|callable) Specifies
* the token used to authorize requests. Provide an
* Aws\Token\TokenInterface object, an associative array of
* "token" and an optional "expires" key, `false` to use no
* token, or a callable token provider used to create a
* token or return null. See Aws\Token\TokenProvider for
* a list of built-in token providers. If no token is
* provided, the SDK will attempt to load one from the environment.
* - csm:
* (Aws\ClientSideMonitoring\ConfigurationInterface|array|callable) Specifies
* the credentials used to sign requests. Provide an
* Aws\ClientSideMonitoring\ConfigurationInterface object, a callable
* configuration provider used to create client-side monitoring configuration,
* `false` to disable csm, or an associative array with the following keys:
* enabled: (bool) Set to true to enable client-side monitoring, defaults
* to false; host: (string) the host location to send monitoring events to,
* defaults to 127.0.0.1; port: (int) The port used for the host connection,
* defaults to 31000; client_id: (string) An identifier for this project
* - debug: (bool|array) Set to true to display debug information when
* sending requests. Alternatively, you can provide an associative array
* with the following keys: logfn: (callable) Function that is invoked
@@ -93,6 +132,14 @@ class AwsClient implements AwsClientInterface
* - endpoint: (string) The full URI of the webservice. This is only
* required when connecting to a custom endpoint (e.g., a local version
* of S3).
* - endpoint_discovery: (Aws\EndpointDiscovery\ConfigurationInterface,
* Aws\CacheInterface, array, callable) Settings for endpoint discovery.
* Provide an instance of Aws\EndpointDiscovery\ConfigurationInterface,
* an instance Aws\CacheInterface, a callable that provides a promise for
* a Configuration object, or an associative array with the following
* keys: enabled: (bool) Set to true to enable endpoint discovery, false
* to explicitly disable it, defaults to false; cache_limit: (int) The
* maximum number of keys in the endpoints cache, defaults to 1000.
* - endpoint_provider: (callable) An optional PHP callable that
* accepts a hash of options including a "service" and "region" key and
* returns NULL or a hash of endpoint data, of which the "endpoint" key
@@ -125,8 +172,16 @@ class AwsClient implements AwsClientInterface
* - region: (string, required) Region to connect to. See
* http://docs.aws.amazon.com/general/latest/gr/rande.html for a list of
* available regions.
* - retries: (int, default=int(3)) Configures the maximum number of
* allowed retries for a client (pass 0 to disable retries).
* - retries: (int, Aws\Retry\ConfigurationInterface, Aws\CacheInterface,
* array, callable) Configures the retry mode and maximum number of
* allowed retries for a client (pass 0 to disable retries). Provide an
* integer for 'legacy' mode with the specified number of retries.
* Otherwise provide an instance of Aws\Retry\ConfigurationInterface, an
* instance of Aws\CacheInterface, a callable function, or an array with
* the following keys: mode: (string) Set to 'legacy', 'standard' (uses
* retry quota management), or 'adapative' (an experimental mode that adds
* client-side rate limiting to standard mode); max_attempts (int) The
* maximum number of attempts for a given request.
* - scheme: (string, default=string(5) "https") URI scheme to use when
* connecting connect. The SDK will utilize "https" endpoints (i.e.,
* utilize SSL/TLS connections) by default. You can attempt to connect to
@@ -141,6 +196,10 @@ class AwsClient implements AwsClientInterface
* signature version to use with a service (e.g., v4). Note that
* per/operation signature version MAY override this requested signature
* version.
* - use_aws_shared_config_files: (bool, default=bool(true)) Set to false to
* disable checking for shared config file in '~/.aws/config' and
* '~/.aws/credentials'. This will override the AWS_CONFIG_FILE
* environment variable.
* - validate: (bool, default=bool(true)) Set to false to disable
* client-side parameter validation.
* - version: (string, required) The version of the webservice to
@@ -160,7 +219,6 @@ class AwsClient implements AwsClientInterface
if (!isset($args['exception_class'])) {
$args['exception_class'] = $exceptionClass;
}
$this->handlerList = new HandlerList();
$resolver = new ClientResolver(static::getArguments());
$config = $resolver->resolve($args, $this->handlerList);
@@ -168,13 +226,22 @@ class AwsClient implements AwsClientInterface
$this->signatureProvider = $config['signature_provider'];
$this->endpoint = new Uri($config['endpoint']);
$this->credentialProvider = $config['credentials'];
$this->tokenProvider = $config['token'];
$this->region = isset($config['region']) ? $config['region'] : null;
$this->config = $config['config'];
$this->setClientBuiltIns($args);
$this->clientContextParams = $this->setClientContextParams($args);
$this->defaultRequestOptions = $config['http'];
$this->endpointProvider = $config['endpoint_provider'];
$this->serializer = $config['serializer'];
$this->addSignatureMiddleware();
$this->addInvocationId();
$this->addClientSideMonitoring($args);
$this->addEndpointParameterMiddleware($args);
$this->addEndpointDiscoveryMiddleware($config, $args);
$this->loadAliases();
$this->addStreamRequestPayload();
$this->addRecursionDetection();
$this->addRequestBuilder();
if (isset($args['with_resolved'])) {
$args['with_resolved']($config);
@@ -201,6 +268,7 @@ class AwsClient implements AwsClientInterface
return $fn();
}
public function getEndpoint()
{
return $this->endpoint;
@@ -235,6 +303,33 @@ class AwsClient implements AwsClientInterface
return new Command($name, $args, clone $this->getHandlerList());
}
public function getEndpointProvider()
{
return $this->endpointProvider;
}
/**
* Provides the set of service context parameter
* key-value pairs used for endpoint resolution.
*
* @return array
*/
public function getClientContextParams()
{
return $this->clientContextParams;
}
/**
* Provides the set of built-in keys and values
* used for endpoint resolution
*
* @return array
*/
public function getClientBuiltIns()
{
return $this->clientBuiltIns;
}
public function __sleep()
{
throw new \RuntimeException('Instances of ' . static::class
@@ -246,7 +341,7 @@ class AwsClient implements AwsClientInterface
*
* @return callable
*/
final protected function getSignatureProvider()
final public function getSignatureProvider()
{
return $this->signatureProvider;
}
@@ -286,6 +381,22 @@ class AwsClient implements AwsClientInterface
}
}
private function addEndpointDiscoveryMiddleware($config, $args)
{
$list = $this->getHandlerList();
if (!isset($args['endpoint'])) {
$list->appendBuild(
EndpointDiscoveryMiddleware::wrap(
$this,
$args,
$config['endpoint_discovery']
),
'EndpointDiscoveryMiddleware'
);
}
}
private function addSignatureMiddleware()
{
$api = $this->getApi();
@@ -297,6 +408,13 @@ class AwsClient implements AwsClientInterface
$resolver = static function (
CommandInterface $c
) use ($api, $provider, $name, $region, $version) {
if (!empty($c['@context']['signing_region'])) {
$region = $c['@context']['signing_region'];
}
if (!empty($c['@context']['signing_service'])) {
$name = $c['@context']['signing_service'];
}
$authType = $api->getOperation($c->getName())['authtype'];
switch ($authType){
case 'none':
@@ -305,11 +423,26 @@ class AwsClient implements AwsClientInterface
case 'v4-unsigned-body':
$version = 'v4-unsigned-body';
break;
case 'bearer':
$version = 'bearer';
break;
}
if (isset($c['@context']['signature_version'])) {
if ($c['@context']['signature_version'] == 'v4a') {
$version = 'v4a';
}
}
if (!empty($endpointAuthSchemes = $c->getAuthSchemes())) {
$version = $endpointAuthSchemes['version'];
$name = isset($endpointAuthSchemes['name']) ?
$endpointAuthSchemes['name'] : $name;
$region = isset($endpointAuthSchemes['region']) ?
$endpointAuthSchemes['region'] : $region;
}
return SignatureProvider::resolve($provider, $version, $name, $region);
};
$this->handlerList->appendSign(
Middleware::signer($this->credentialProvider, $resolver),
Middleware::signer($this->credentialProvider, $resolver, $this->tokenProvider),
'signer'
);
}
@@ -320,32 +453,144 @@ class AwsClient implements AwsClientInterface
$this->handlerList->prependSign(Middleware::invocationId(), 'invocation-id');
}
private function addClientSideMonitoring($args)
private function loadAliases($file = null)
{
$options = ConfigurationProvider::defaultProvider($args);
if (!isset($this->aliases)) {
if (is_null($file)) {
$file = __DIR__ . '/data/aliases.json';
}
$aliases = \Aws\load_compiled_json($file);
$serviceId = $this->api->getServiceId();
$version = $this->getApi()->getApiVersion();
if (!empty($aliases['operations'][$serviceId][$version])) {
$this->aliases = array_flip($aliases['operations'][$serviceId][$version]);
}
}
}
private function addStreamRequestPayload()
{
$streamRequestPayloadMiddleware = StreamRequestPayloadMiddleware::wrap(
$this->api
);
$this->handlerList->prependSign(
$streamRequestPayloadMiddleware,
'StreamRequestPayloadMiddleware'
);
}
private function addRecursionDetection()
{
// Add recursion detection header to requests
// originating in supported Lambda runtimes
$this->handlerList->appendBuild(
ApiCallMonitoringMiddleware::wrap(
$this->credentialProvider,
$options,
$this->region,
$this->getApi()->getServiceId()
),
'ApiCallMonitoringMiddleware'
Middleware::recursionDetection(), 'recursion-detection'
);
}
$callAttemptMiddleware = ApiCallAttemptMonitoringMiddleware::wrap(
$this->credentialProvider,
$options,
$this->region,
$this->getApi()->getServiceId()
);
$this->handlerList->appendAttempt (
$callAttemptMiddleware,
'ApiCallAttemptMonitoringMiddleware'
/**
* Adds the `builder` middleware such that a client's endpoint
* provider and endpoint resolution arguments can be passed.
*/
private function addRequestBuilder()
{
$handlerList = $this->getHandlerList();
$serializer = $this->serializer;
$endpointProvider = $this->endpointProvider;
$endpointArgs = $this->getEndpointProviderArgs();
$handlerList->prependBuild(
Middleware::requestBuilder(
$serializer,
$endpointProvider,
$endpointArgs
),
'builderV2'
);
}
/**
* Retrieves client context param definition from service model,
* creates mapping of client context param names with client-provided
* values.
*
* @return array
*/
private function setClientContextParams($args)
{
$api = $this->getApi();
$resolvedParams = [];
if (!empty($paramDefinitions = $api->getClientContextParams())) {
foreach($paramDefinitions as $paramName => $paramValue) {
if (isset($args[$paramName])) {
$result[$paramName] = $args[$paramName];
}
}
}
return $resolvedParams;
}
/**
* Retrieves and sets default values used for endpoint resolution.
*/
private function setClientBuiltIns($args)
{
$builtIns = [];
$config = $this->getConfig();
$service = $args['service'];
$builtIns['SDK::Endpoint'] = isset($args['endpoint']) ? $args['endpoint'] : null;
$builtIns['AWS::Region'] = $this->getRegion();
$builtIns['AWS::UseFIPS'] = $config['use_fips_endpoint']->isUseFipsEndpoint();
$builtIns['AWS::UseDualStack'] = $config['use_dual_stack_endpoint']->isUseDualstackEndpoint();
if ($service === 's3' || $service === 's3control'){
$builtIns['AWS::S3::UseArnRegion'] = $config['use_arn_region']->isUseArnRegion();
}
if ($service === 's3') {
$builtIns['AWS::S3::UseArnRegion'] = $config['use_arn_region']->isUseArnRegion();
$builtIns['AWS::S3::Accelerate'] = $config['use_accelerate_endpoint'];
$builtIns['AWS::S3::ForcePathStyle'] = $config['use_path_style_endpoint'];
$builtIns['AWS::S3::DisableMultiRegionAccessPoints'] = $config['disable_multiregion_access_points'];
}
$this->clientBuiltIns += $builtIns;
}
/**
* Retrieves arguments to be used in endpoint resolution.
*
* @return array
*/
public function getEndpointProviderArgs()
{
return $this->normalizeEndpointProviderArgs();
}
/**
* Combines built-in and client context parameter values in
* order of specificity. Client context parameter values supersede
* built-in values.
*
* @return array
*/
private function normalizeEndpointProviderArgs()
{
$normalizedBuiltIns = [];
foreach($this->clientBuiltIns as $name => $value) {
$normalizedName = explode('::', $name);
$normalizedName = $normalizedName[count($normalizedName) - 1];
$normalizedBuiltIns[$normalizedName] = $value;
}
return array_merge($normalizedBuiltIns, $this->getClientContextParams());
}
protected function isUseEndpointV2()
{
return $this->endpointProvider instanceof EndpointProviderV2;
}
/**
* Returns a service model and doc model with any necessary changes
* applied.
@@ -360,6 +605,20 @@ class AwsClient implements AwsClientInterface
*/
public static function applyDocFilters(array $api, array $docs)
{
$aliases = \Aws\load_compiled_json(__DIR__ . '/data/aliases.json');
$serviceId = $api['metadata']['serviceId'];
$version = $api['metadata']['apiVersion'];
// Replace names for any operations with SDK aliases
if (!empty($aliases['operations'][$serviceId][$version])) {
foreach ($aliases['operations'][$serviceId][$version] as $op => $alias) {
$api['operations'][$alias] = $api['operations'][$op];
$docs['operations'][$alias] = $docs['operations'][$op];
unset($api['operations'][$op], $docs['operations'][$op]);
}
}
ksort($api['operations']);
return [
new Service($api, ApiProvider::defaultProvider()),
new DocModel($docs)

View File

@@ -66,11 +66,20 @@ trait AwsClientTrait
public function __call($name, array $args)
{
if (substr($name, -5) === 'Async') {
$name = substr($name, 0, -5);
$isAsync = true;
}
if (!empty($this->aliases[ucfirst($name)])) {
$name = $this->aliases[ucfirst($name)];
}
$params = isset($args[0]) ? $args[0] : [];
if (substr($name, -5) === 'Async') {
if (!empty($isAsync)) {
return $this->executeAsync(
$this->getCommand(substr($name, 0, -5), $params)
$this->getCommand($name, $params)
);
}

View File

@@ -0,0 +1,153 @@
<?php
namespace Aws\Backup;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Backup** service.
* @method \Aws\Result cancelLegalHold(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelLegalHoldAsync(array $args = [])
* @method \Aws\Result createBackupPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackupPlanAsync(array $args = [])
* @method \Aws\Result createBackupSelection(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackupSelectionAsync(array $args = [])
* @method \Aws\Result createBackupVault(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackupVaultAsync(array $args = [])
* @method \Aws\Result createFramework(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFrameworkAsync(array $args = [])
* @method \Aws\Result createLegalHold(array $args = [])
* @method \GuzzleHttp\Promise\Promise createLegalHoldAsync(array $args = [])
* @method \Aws\Result createReportPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise createReportPlanAsync(array $args = [])
* @method \Aws\Result deleteBackupPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupPlanAsync(array $args = [])
* @method \Aws\Result deleteBackupSelection(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupSelectionAsync(array $args = [])
* @method \Aws\Result deleteBackupVault(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupVaultAsync(array $args = [])
* @method \Aws\Result deleteBackupVaultAccessPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupVaultAccessPolicyAsync(array $args = [])
* @method \Aws\Result deleteBackupVaultLockConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupVaultLockConfigurationAsync(array $args = [])
* @method \Aws\Result deleteBackupVaultNotifications(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupVaultNotificationsAsync(array $args = [])
* @method \Aws\Result deleteFramework(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFrameworkAsync(array $args = [])
* @method \Aws\Result deleteRecoveryPoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRecoveryPointAsync(array $args = [])
* @method \Aws\Result deleteReportPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteReportPlanAsync(array $args = [])
* @method \Aws\Result describeBackupJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeBackupJobAsync(array $args = [])
* @method \Aws\Result describeBackupVault(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeBackupVaultAsync(array $args = [])
* @method \Aws\Result describeCopyJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeCopyJobAsync(array $args = [])
* @method \Aws\Result describeFramework(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFrameworkAsync(array $args = [])
* @method \Aws\Result describeGlobalSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeGlobalSettingsAsync(array $args = [])
* @method \Aws\Result describeProtectedResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeProtectedResourceAsync(array $args = [])
* @method \Aws\Result describeRecoveryPoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeRecoveryPointAsync(array $args = [])
* @method \Aws\Result describeRegionSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeRegionSettingsAsync(array $args = [])
* @method \Aws\Result describeReportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReportJobAsync(array $args = [])
* @method \Aws\Result describeReportPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReportPlanAsync(array $args = [])
* @method \Aws\Result describeRestoreJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeRestoreJobAsync(array $args = [])
* @method \Aws\Result disassociateRecoveryPoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateRecoveryPointAsync(array $args = [])
* @method \Aws\Result disassociateRecoveryPointFromParent(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateRecoveryPointFromParentAsync(array $args = [])
* @method \Aws\Result exportBackupPlanTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportBackupPlanTemplateAsync(array $args = [])
* @method \Aws\Result getBackupPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackupPlanAsync(array $args = [])
* @method \Aws\Result getBackupPlanFromJSON(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackupPlanFromJSONAsync(array $args = [])
* @method \Aws\Result getBackupPlanFromTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackupPlanFromTemplateAsync(array $args = [])
* @method \Aws\Result getBackupSelection(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackupSelectionAsync(array $args = [])
* @method \Aws\Result getBackupVaultAccessPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackupVaultAccessPolicyAsync(array $args = [])
* @method \Aws\Result getBackupVaultNotifications(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBackupVaultNotificationsAsync(array $args = [])
* @method \Aws\Result getLegalHold(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLegalHoldAsync(array $args = [])
* @method \Aws\Result getRecoveryPointRestoreMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRecoveryPointRestoreMetadataAsync(array $args = [])
* @method \Aws\Result getSupportedResourceTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSupportedResourceTypesAsync(array $args = [])
* @method \Aws\Result listBackupJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupJobsAsync(array $args = [])
* @method \Aws\Result listBackupPlanTemplates(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupPlanTemplatesAsync(array $args = [])
* @method \Aws\Result listBackupPlanVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupPlanVersionsAsync(array $args = [])
* @method \Aws\Result listBackupPlans(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupPlansAsync(array $args = [])
* @method \Aws\Result listBackupSelections(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupSelectionsAsync(array $args = [])
* @method \Aws\Result listBackupVaults(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupVaultsAsync(array $args = [])
* @method \Aws\Result listCopyJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCopyJobsAsync(array $args = [])
* @method \Aws\Result listFrameworks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFrameworksAsync(array $args = [])
* @method \Aws\Result listLegalHolds(array $args = [])
* @method \GuzzleHttp\Promise\Promise listLegalHoldsAsync(array $args = [])
* @method \Aws\Result listProtectedResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listProtectedResourcesAsync(array $args = [])
* @method \Aws\Result listRecoveryPointsByBackupVault(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRecoveryPointsByBackupVaultAsync(array $args = [])
* @method \Aws\Result listRecoveryPointsByLegalHold(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRecoveryPointsByLegalHoldAsync(array $args = [])
* @method \Aws\Result listRecoveryPointsByResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRecoveryPointsByResourceAsync(array $args = [])
* @method \Aws\Result listReportJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listReportJobsAsync(array $args = [])
* @method \Aws\Result listReportPlans(array $args = [])
* @method \GuzzleHttp\Promise\Promise listReportPlansAsync(array $args = [])
* @method \Aws\Result listRestoreJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRestoreJobsAsync(array $args = [])
* @method \Aws\Result listTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
* @method \Aws\Result putBackupVaultAccessPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putBackupVaultAccessPolicyAsync(array $args = [])
* @method \Aws\Result putBackupVaultLockConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putBackupVaultLockConfigurationAsync(array $args = [])
* @method \Aws\Result putBackupVaultNotifications(array $args = [])
* @method \GuzzleHttp\Promise\Promise putBackupVaultNotificationsAsync(array $args = [])
* @method \Aws\Result startBackupJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startBackupJobAsync(array $args = [])
* @method \Aws\Result startCopyJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startCopyJobAsync(array $args = [])
* @method \Aws\Result startReportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startReportJobAsync(array $args = [])
* @method \Aws\Result startRestoreJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startRestoreJobAsync(array $args = [])
* @method \Aws\Result stopBackupJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopBackupJobAsync(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 updateBackupPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBackupPlanAsync(array $args = [])
* @method \Aws\Result updateFramework(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFrameworkAsync(array $args = [])
* @method \Aws\Result updateGlobalSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGlobalSettingsAsync(array $args = [])
* @method \Aws\Result updateRecoveryPointLifecycle(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRecoveryPointLifecycleAsync(array $args = [])
* @method \Aws\Result updateRegionSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRegionSettingsAsync(array $args = [])
* @method \Aws\Result updateReportPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateReportPlanAsync(array $args = [])
*/
class BackupClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\Backup\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Backup** service.
*/
class BackupException extends AwsException {}

View File

@@ -0,0 +1,59 @@
<?php
namespace Aws\BackupGateway;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Backup Gateway** service.
* @method \Aws\Result associateGatewayToServer(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateGatewayToServerAsync(array $args = [])
* @method \Aws\Result createGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGatewayAsync(array $args = [])
* @method \Aws\Result deleteGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGatewayAsync(array $args = [])
* @method \Aws\Result deleteHypervisor(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteHypervisorAsync(array $args = [])
* @method \Aws\Result disassociateGatewayFromServer(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateGatewayFromServerAsync(array $args = [])
* @method \Aws\Result getBandwidthRateLimitSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBandwidthRateLimitScheduleAsync(array $args = [])
* @method \Aws\Result getGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayAsync(array $args = [])
* @method \Aws\Result getHypervisor(array $args = [])
* @method \GuzzleHttp\Promise\Promise getHypervisorAsync(array $args = [])
* @method \Aws\Result getHypervisorPropertyMappings(array $args = [])
* @method \GuzzleHttp\Promise\Promise getHypervisorPropertyMappingsAsync(array $args = [])
* @method \Aws\Result getVirtualMachine(array $args = [])
* @method \GuzzleHttp\Promise\Promise getVirtualMachineAsync(array $args = [])
* @method \Aws\Result importHypervisorConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise importHypervisorConfigurationAsync(array $args = [])
* @method \Aws\Result listGateways(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGatewaysAsync(array $args = [])
* @method \Aws\Result listHypervisors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listHypervisorsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result listVirtualMachines(array $args = [])
* @method \GuzzleHttp\Promise\Promise listVirtualMachinesAsync(array $args = [])
* @method \Aws\Result putBandwidthRateLimitSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise putBandwidthRateLimitScheduleAsync(array $args = [])
* @method \Aws\Result putHypervisorPropertyMappings(array $args = [])
* @method \GuzzleHttp\Promise\Promise putHypervisorPropertyMappingsAsync(array $args = [])
* @method \Aws\Result putMaintenanceStartTime(array $args = [])
* @method \GuzzleHttp\Promise\Promise putMaintenanceStartTimeAsync(array $args = [])
* @method \Aws\Result startVirtualMachinesMetadataSync(array $args = [])
* @method \GuzzleHttp\Promise\Promise startVirtualMachinesMetadataSyncAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result testHypervisorConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise testHypervisorConfigurationAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateGatewayInformation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayInformationAsync(array $args = [])
* @method \Aws\Result updateGatewaySoftwareNow(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewaySoftwareNowAsync(array $args = [])
* @method \Aws\Result updateHypervisor(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateHypervisorAsync(array $args = [])
*/
class BackupGatewayClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\BackupGateway\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Backup Gateway** service.
*/
class BackupGatewayException extends AwsException {}

View File

@@ -0,0 +1,27 @@
<?php
namespace Aws\BackupStorage;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Backup Storage** service.
* @method \Aws\Result deleteObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteObjectAsync(array $args = [])
* @method \Aws\Result getChunk(array $args = [])
* @method \GuzzleHttp\Promise\Promise getChunkAsync(array $args = [])
* @method \Aws\Result getObjectMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise getObjectMetadataAsync(array $args = [])
* @method \Aws\Result listChunks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listChunksAsync(array $args = [])
* @method \Aws\Result listObjects(array $args = [])
* @method \GuzzleHttp\Promise\Promise listObjectsAsync(array $args = [])
* @method \Aws\Result notifyObjectComplete(array $args = [])
* @method \GuzzleHttp\Promise\Promise notifyObjectCompleteAsync(array $args = [])
* @method \Aws\Result putChunk(array $args = [])
* @method \GuzzleHttp\Promise\Promise putChunkAsync(array $args = [])
* @method \Aws\Result putObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise putObjectAsync(array $args = [])
* @method \Aws\Result startObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise startObjectAsync(array $args = [])
*/
class BackupStorageClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\BackupStorage\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Backup Storage** service.
*/
class BackupStorageException extends AwsException {}

View File

@@ -11,10 +11,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createComputeEnvironmentAsync(array $args = [])
* @method \Aws\Result createJobQueue(array $args = [])
* @method \GuzzleHttp\Promise\Promise createJobQueueAsync(array $args = [])
* @method \Aws\Result createSchedulingPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise createSchedulingPolicyAsync(array $args = [])
* @method \Aws\Result deleteComputeEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteComputeEnvironmentAsync(array $args = [])
* @method \Aws\Result deleteJobQueue(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteJobQueueAsync(array $args = [])
* @method \Aws\Result deleteSchedulingPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSchedulingPolicyAsync(array $args = [])
* @method \Aws\Result deregisterJobDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterJobDefinitionAsync(array $args = [])
* @method \Aws\Result describeComputeEnvironments(array $args = [])
@@ -25,17 +29,29 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeJobQueuesAsync(array $args = [])
* @method \Aws\Result describeJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeJobsAsync(array $args = [])
* @method \Aws\Result describeSchedulingPolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSchedulingPoliciesAsync(array $args = [])
* @method \Aws\Result listJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = [])
* @method \Aws\Result listSchedulingPolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSchedulingPoliciesAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result registerJobDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerJobDefinitionAsync(array $args = [])
* @method \Aws\Result submitJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise submitJobAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result terminateJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise terminateJobAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateComputeEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateComputeEnvironmentAsync(array $args = [])
* @method \Aws\Result updateJobQueue(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateJobQueueAsync(array $args = [])
* @method \Aws\Result updateSchedulingPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateSchedulingPolicyAsync(array $args = [])
*/
class BatchClient extends AwsClient {}

View File

@@ -0,0 +1,71 @@
<?php
namespace Aws\BillingConductor;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWSBillingConductor** service.
* @method \Aws\Result associateAccounts(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateAccountsAsync(array $args = [])
* @method \Aws\Result associatePricingRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise associatePricingRulesAsync(array $args = [])
* @method \Aws\Result batchAssociateResourcesToCustomLineItem(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchAssociateResourcesToCustomLineItemAsync(array $args = [])
* @method \Aws\Result batchDisassociateResourcesFromCustomLineItem(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDisassociateResourcesFromCustomLineItemAsync(array $args = [])
* @method \Aws\Result createBillingGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBillingGroupAsync(array $args = [])
* @method \Aws\Result createCustomLineItem(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCustomLineItemAsync(array $args = [])
* @method \Aws\Result createPricingPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPricingPlanAsync(array $args = [])
* @method \Aws\Result createPricingRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPricingRuleAsync(array $args = [])
* @method \Aws\Result deleteBillingGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBillingGroupAsync(array $args = [])
* @method \Aws\Result deleteCustomLineItem(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCustomLineItemAsync(array $args = [])
* @method \Aws\Result deletePricingPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePricingPlanAsync(array $args = [])
* @method \Aws\Result deletePricingRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePricingRuleAsync(array $args = [])
* @method \Aws\Result disassociateAccounts(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateAccountsAsync(array $args = [])
* @method \Aws\Result disassociatePricingRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociatePricingRulesAsync(array $args = [])
* @method \Aws\Result listAccountAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAccountAssociationsAsync(array $args = [])
* @method \Aws\Result listBillingGroupCostReports(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBillingGroupCostReportsAsync(array $args = [])
* @method \Aws\Result listBillingGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBillingGroupsAsync(array $args = [])
* @method \Aws\Result listCustomLineItemVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCustomLineItemVersionsAsync(array $args = [])
* @method \Aws\Result listCustomLineItems(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCustomLineItemsAsync(array $args = [])
* @method \Aws\Result listPricingPlans(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPricingPlansAsync(array $args = [])
* @method \Aws\Result listPricingPlansAssociatedWithPricingRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPricingPlansAssociatedWithPricingRuleAsync(array $args = [])
* @method \Aws\Result listPricingRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPricingRulesAsync(array $args = [])
* @method \Aws\Result listPricingRulesAssociatedToPricingPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPricingRulesAssociatedToPricingPlanAsync(array $args = [])
* @method \Aws\Result listResourcesAssociatedToCustomLineItem(array $args = [])
* @method \GuzzleHttp\Promise\Promise listResourcesAssociatedToCustomLineItemAsync(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 updateBillingGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBillingGroupAsync(array $args = [])
* @method \Aws\Result updateCustomLineItem(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateCustomLineItemAsync(array $args = [])
* @method \Aws\Result updatePricingPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise updatePricingPlanAsync(array $args = [])
* @method \Aws\Result updatePricingRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise updatePricingRuleAsync(array $args = [])
*/
class BillingConductorClient extends AwsClient {}

Some files were not shown because too many files have changed in this diff Show More