Laravel version update

Laravel version update
This commit is contained in:
Manish Verma
2018-08-06 18:48:58 +05:30
parent d143048413
commit 126fbb0255
13678 changed files with 1031482 additions and 778530 deletions

View File

@@ -0,0 +1,43 @@
<?php
namespace Aws\ACMPCA;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Certificate Manager Private Certificate Authority** service.
* @method \Aws\Result createCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result createCertificateAuthorityAuditReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCertificateAuthorityAuditReportAsync(array $args = [])
* @method \Aws\Result deleteCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result describeCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result describeCertificateAuthorityAuditReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeCertificateAuthorityAuditReportAsync(array $args = [])
* @method \Aws\Result getCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCertificateAsync(array $args = [])
* @method \Aws\Result getCertificateAuthorityCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCertificateAuthorityCertificateAsync(array $args = [])
* @method \Aws\Result getCertificateAuthorityCsr(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCertificateAuthorityCsrAsync(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 listTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
* @method \Aws\Result restoreCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise restoreCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result revokeCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise revokeCertificateAsync(array $args = [])
* @method \Aws\Result tagCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result untagCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagCertificateAuthorityAsync(array $args = [])
* @method \Aws\Result updateCertificateAuthority(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateCertificateAuthorityAsync(array $args = [])
*/
class ACMPCAClient extends AwsClient {}

View File

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

View File

@@ -12,6 +12,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = [])
* @method \Aws\Result describeCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeCertificateAsync(array $args = [])
* @method \Aws\Result exportCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportCertificateAsync(array $args = [])
* @method \Aws\Result getCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCertificateAsync(array $args = [])
* @method \Aws\Result importCertificate(array $args = [])
@@ -26,5 +28,7 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise requestCertificateAsync(array $args = [])
* @method \Aws\Result resendValidationEmail(array $args = [])
* @method \GuzzleHttp\Promise\Promise resendValidationEmailAsync(array $args = [])
* @method \Aws\Result updateCertificateOptions(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateCertificateOptionsAsync(array $args = [])
*/
class AcmClient extends AwsClient {}

View File

@@ -0,0 +1,107 @@
<?php
namespace Aws\AlexaForBusiness;
use Aws\AwsClient;
/**
* This client is used to interact with the **Alexa For Business** service.
* @method \Aws\Result associateContactWithAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateContactWithAddressBookAsync(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 createAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAddressBookAsync(array $args = [])
* @method \Aws\Result createContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise createContactAsync(array $args = [])
* @method \Aws\Result createProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createProfileAsync(array $args = [])
* @method \Aws\Result createRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRoomAsync(array $args = [])
* @method \Aws\Result createSkillGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise createSkillGroupAsync(array $args = [])
* @method \Aws\Result createUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = [])
* @method \Aws\Result deleteAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAddressBookAsync(array $args = [])
* @method \Aws\Result deleteContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteContactAsync(array $args = [])
* @method \Aws\Result deleteProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteProfileAsync(array $args = [])
* @method \Aws\Result deleteRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRoomAsync(array $args = [])
* @method \Aws\Result deleteRoomSkillParameter(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRoomSkillParameterAsync(array $args = [])
* @method \Aws\Result deleteSkillGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSkillGroupAsync(array $args = [])
* @method \Aws\Result deleteUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = [])
* @method \Aws\Result disassociateContactFromAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateContactFromAddressBookAsync(array $args = [])
* @method \Aws\Result disassociateDeviceFromRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateDeviceFromRoomAsync(array $args = [])
* @method \Aws\Result disassociateSkillGroupFromRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateSkillGroupFromRoomAsync(array $args = [])
* @method \Aws\Result getAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAddressBookAsync(array $args = [])
* @method \Aws\Result getContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise getContactAsync(array $args = [])
* @method \Aws\Result getDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = [])
* @method \Aws\Result getProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getProfileAsync(array $args = [])
* @method \Aws\Result getRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRoomAsync(array $args = [])
* @method \Aws\Result getRoomSkillParameter(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRoomSkillParameterAsync(array $args = [])
* @method \Aws\Result getSkillGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSkillGroupAsync(array $args = [])
* @method \Aws\Result listDeviceEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDeviceEventsAsync(array $args = [])
* @method \Aws\Result listSkills(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSkillsAsync(array $args = [])
* @method \Aws\Result listTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
* @method \Aws\Result putRoomSkillParameter(array $args = [])
* @method \GuzzleHttp\Promise\Promise putRoomSkillParameterAsync(array $args = [])
* @method \Aws\Result resolveRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise resolveRoomAsync(array $args = [])
* @method \Aws\Result revokeInvitation(array $args = [])
* @method \GuzzleHttp\Promise\Promise revokeInvitationAsync(array $args = [])
* @method \Aws\Result searchAddressBooks(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchAddressBooksAsync(array $args = [])
* @method \Aws\Result searchContacts(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchContactsAsync(array $args = [])
* @method \Aws\Result searchDevices(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchDevicesAsync(array $args = [])
* @method \Aws\Result searchProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchProfilesAsync(array $args = [])
* @method \Aws\Result searchRooms(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchRoomsAsync(array $args = [])
* @method \Aws\Result searchSkillGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchSkillGroupsAsync(array $args = [])
* @method \Aws\Result searchUsers(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchUsersAsync(array $args = [])
* @method \Aws\Result sendInvitation(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendInvitationAsync(array $args = [])
* @method \Aws\Result startDeviceSync(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDeviceSyncAsync(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 updateAddressBook(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAddressBookAsync(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 updateProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProfileAsync(array $args = [])
* @method \Aws\Result updateRoom(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRoomAsync(array $args = [])
* @method \Aws\Result updateSkillGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateSkillGroupAsync(array $args = [])
*/
class AlexaForBusinessClient extends AwsClient {}

View File

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

View File

@@ -83,8 +83,8 @@ class Operation extends AbstractModel
{
if ($this->errors === null) {
if ($errors = $this['errors']) {
foreach ($errors as &$error) {
$error = $this->shapeFor($error);
foreach ($errors as $key => $error) {
$errors[$key] = $this->shapeFor($error);
}
$this->errors = $errors;
} else {

View File

@@ -13,6 +13,7 @@ use Psr\Http\Message\ResponseInterface;
*/
abstract class AbstractRestParser extends AbstractParser
{
use PayloadParserTrait;
/**
* Parses a payload from a response.
*
@@ -109,6 +110,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);
break;
} catch (\Exception $e) {
@@ -116,6 +121,11 @@ abstract class AbstractRestParser extends AbstractParser
// output structure.
return;
}
case 'string':
if ($shape['jsonvalue']) {
$value = $this->parseJson(base64_decode($value));
}
break;
}
$result[$name] = $value;

View File

@@ -43,6 +43,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).

View File

@@ -124,11 +124,15 @@ class XmlParser
private function parse_boolean(Shape $shape, $value)
{
return $value == 'true' ? true : false;
return $value == 'true';
}
private function parse_timestamp(Shape $shape, $value)
{
if (!empty($shape['timestampFormat'])
&& $shape['timestampFormat'] === 'unixTimestamp') {
return DateTimeResult::fromEpoch((string) $value);
}
return new DateTimeResult($value);
}
}

View File

@@ -62,8 +62,8 @@ class JsonBody
case 'list':
$items = $shape->getMember();
foreach ($value as &$v) {
$v = $this->format($items, $v);
foreach ($value as $k => $v) {
$value[$k] = $this->format($items, $v);
}
return $value;
@@ -72,8 +72,8 @@ class JsonBody
return new \stdClass;
}
$values = $shape->getValue();
foreach ($value as &$v) {
$v = $this->format($values, $v);
foreach ($value as $k => $v) {
$value[$k] = $this->format($values, $v);
}
return $value;
@@ -81,7 +81,10 @@ class JsonBody
return base64_encode($value);
case 'timestamp':
return TimestampShape::format($value, 'unixTimestamp');
$timestampFormat = !empty($shape['timestampFormat'])
? $shape['timestampFormat']
: 'unixTimestamp';
return TimestampShape::format($value, $timestampFormat);
default:
return $value;

View File

@@ -144,7 +144,10 @@ class QueryParamBuilder
$prefix,
array &$query
) {
$query[$prefix] = TimestampShape::format($value, 'iso8601');
$timestampFormat = !empty($shape['timestampFormat'])
? $shape['timestampFormat']
: 'iso8601';
$query[$prefix] = TimestampShape::format($value, $timestampFormat);
}
protected function format_boolean(Shape $shape, $value, $prefix, array &$query)

View File

@@ -9,6 +9,8 @@ use Aws\Api\StructureShape;
use Aws\Api\TimestampShape;
use Aws\CommandInterface;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\Uri;
use GuzzleHttp\Psr7\UriResolver;
use Psr\Http\Message\RequestInterface;
/**
@@ -121,8 +123,20 @@ abstract class RestSerializer
private function applyHeader($name, Shape $member, $value, array &$opts)
{
if ($member->getType() == 'timestamp') {
$value = TimestampShape::format($value, 'rfc822');
if ($member->getType() === 'timestamp') {
$timestampFormat = !empty($member['timestampFormat'])
? $member['timestampFormat']
: 'rfc822';
$value = TimestampShape::format($value, $timestampFormat);
}
if ($member['jsonvalue']) {
$value = json_encode($value);
if (empty($value) && JSON_ERROR_NONE !== json_last_error()) {
throw new \InvalidArgumentException('Unable to encode the provided value'
. ' with \'json_encode\'. ' . json_last_error_msg());
}
$value = base64_encode($value);
}
$opts['headers'][$member['locationName'] ?: $name] = $value;
@@ -146,10 +160,16 @@ abstract class RestSerializer
? $opts['query'] + $value
: $value;
} elseif ($value !== null) {
if ($member->getType() === 'boolean') {
$type = $member->getType();
if ($type === 'boolean') {
$value = $value ? 'true' : 'false';
} elseif ($type === 'timestamp') {
$timestampFormat = !empty($member['timestampFormat'])
? $member['timestampFormat']
: 'iso8601';
$value = TimestampShape::format($value, $timestampFormat);
}
$opts['query'][$member['locationName'] ?: $name] = $value;
}
}
@@ -175,11 +195,13 @@ abstract class RestSerializer
$k = $isGreedy ? substr($matches[1], 0, -1) : $matches[1];
if (!isset($varspecs[$k])) {
return '';
} elseif ($isGreedy) {
return str_replace('%2F', '/', rawurlencode($varspecs[$k]));
} else {
return rawurlencode($varspecs[$k]);
}
if ($isGreedy) {
return str_replace('%2F', '/', rawurlencode($varspecs[$k]));
}
return rawurlencode($varspecs[$k]);
},
$operation['http']['requestUri']
);
@@ -192,6 +214,6 @@ abstract class RestSerializer
// Expand path place holders using Amazon's slightly different URI
// template syntax.
return Psr7\Uri::resolve($this->endpoint, $relative);
return UriResolver::resolve($this->endpoint, new Uri($relative));
}
}

View File

@@ -38,7 +38,7 @@ class XmlBody
$xml = new XMLWriter();
$xml->openMemory();
$xml->startDocument('1.0', 'UTF-8');
$this->format($shape, $shape['locationName'], $args, $xml);
$this->format($shape, $shape['locationName'] ?: $shape['name'], $args, $xml);
$xml->endDocument();
return $xml->outputMemory();
@@ -142,7 +142,7 @@ class XmlBody
$elementName = $items['locationName'] ?: 'member';
}
foreach ($value as &$v) {
foreach ($value as $v) {
$this->format($items, $elementName, $v, $xml);
}
@@ -187,7 +187,10 @@ class XmlBody
XMLWriter $xml
) {
$this->startElement($shape, $name, $xml);
$xml->writeRaw(TimestampShape::format($value, 'iso8601'));
$timestampFormat = !empty($shape['timestampFormat'])
? $shape['timestampFormat']
: 'iso8601';
$xml->writeRaw(TimestampShape::format($value, $timestampFormat));
$xml->endElement();
}

View File

@@ -43,10 +43,12 @@ class Service extends AbstractModel
], $defaultMeta = [
'apiVersion' => null,
'serviceFullName' => null,
'serviceId' => null,
'endpointPrefix' => null,
'signingName' => null,
'signatureVersion' => null,
'protocol' => null
'protocol' => null,
'uid' => null
];
$definition += $defaults;
@@ -86,7 +88,9 @@ class Service extends AbstractModel
if (isset($mapping[$proto])) {
return new $mapping[$proto]($api, $endpoint);
} elseif ($proto == 'ec2') {
}
if ($proto == 'ec2') {
return new QuerySerializer($api, $endpoint, new Ec2ParamBuilder());
}
@@ -139,7 +143,9 @@ class Service extends AbstractModel
$proto = $api->getProtocol();
if (isset($mapping[$proto])) {
return new $mapping[$proto]($api);
} elseif ($proto == 'ec2') {
}
if ($proto == 'ec2') {
return new QueryParser($api, null, false);
}
@@ -158,6 +164,16 @@ class Service extends AbstractModel
return $this->definition['metadata']['serviceFullName'];
}
/**
* Get the service id
*
* @return string
*/
public function getServiceId()
{
return $this->definition['metadata']['serviceId'];
}
/**
* Get the API version of the service
*
@@ -221,6 +237,16 @@ class Service extends AbstractModel
return $this->definition['metadata']['protocol'];
}
/**
* Get the uid string used by the service
*
* @return string
*/
public function getUid()
{
return $this->definition['metadata']['uid'];
}
/**
* Check if the description has a specific operation by name.
*
@@ -282,7 +308,9 @@ class Service extends AbstractModel
{
if (!$key) {
return $this['metadata'];
} elseif (isset($this->definition['metadata'][$key])) {
}
if (isset($this->definition['metadata'][$key])) {
return $this->definition['metadata'][$key];
}

View File

@@ -189,6 +189,14 @@ class Validator
private function check_string(Shape $shape, $value)
{
if ($shape['jsonvalue']) {
if (!self::canJsonEncode($value)) {
$this->addError('must be a value encodable with \'json_encode\'.'
. ' Found ' . Aws\describe_type($value));
}
return;
}
if (!$this->checkCanString($value)) {
$this->addError('must be a string or an object that implements '
. '__toString(). Found ' . Aws\describe_type($value));
@@ -257,4 +265,9 @@ class Validator
. ' '
. $message;
}
private function canJsonEncode($data)
{
return !is_resource($data);
}
}

View File

@@ -16,10 +16,16 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise createBasePathMappingAsync(array $args = [])
* @method \Aws\Result createDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = [])
* @method \Aws\Result createDocumentationPart(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDocumentationPartAsync(array $args = [])
* @method \Aws\Result createDocumentationVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDocumentationVersionAsync(array $args = [])
* @method \Aws\Result createDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDomainNameAsync(array $args = [])
* @method \Aws\Result createModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise createModelAsync(array $args = [])
* @method \Aws\Result createRequestValidator(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRequestValidatorAsync(array $args = [])
* @method \Aws\Result createResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise createResourceAsync(array $args = [])
* @method \Aws\Result createRestApi(array $args = [])
@@ -30,6 +36,8 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise createUsagePlanAsync(array $args = [])
* @method \Aws\Result createUsagePlanKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUsagePlanKeyAsync(array $args = [])
* @method \Aws\Result createVpcLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise createVpcLinkAsync(array $args = [])
* @method \Aws\Result deleteApiKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApiKeyAsync(array $args = [])
* @method \Aws\Result deleteAuthorizer(array $args = [])
@@ -40,8 +48,14 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise deleteClientCertificateAsync(array $args = [])
* @method \Aws\Result deleteDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeploymentAsync(array $args = [])
* @method \Aws\Result deleteDocumentationPart(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDocumentationPartAsync(array $args = [])
* @method \Aws\Result deleteDocumentationVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDocumentationVersionAsync(array $args = [])
* @method \Aws\Result deleteDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDomainNameAsync(array $args = [])
* @method \Aws\Result deleteGatewayResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGatewayResponseAsync(array $args = [])
* @method \Aws\Result deleteIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIntegrationAsync(array $args = [])
* @method \Aws\Result deleteIntegrationResponse(array $args = [])
@@ -52,6 +66,8 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise deleteMethodResponseAsync(array $args = [])
* @method \Aws\Result deleteModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteModelAsync(array $args = [])
* @method \Aws\Result deleteRequestValidator(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRequestValidatorAsync(array $args = [])
* @method \Aws\Result deleteResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteResourceAsync(array $args = [])
* @method \Aws\Result deleteRestApi(array $args = [])
@@ -62,6 +78,8 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise deleteUsagePlanAsync(array $args = [])
* @method \Aws\Result deleteUsagePlanKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUsagePlanKeyAsync(array $args = [])
* @method \Aws\Result deleteVpcLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteVpcLinkAsync(array $args = [])
* @method \Aws\Result flushStageAuthorizersCache(array $args = [])
* @method \GuzzleHttp\Promise\Promise flushStageAuthorizersCacheAsync(array $args = [])
* @method \Aws\Result flushStageCache(array $args = [])
@@ -90,12 +108,24 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise getDeploymentAsync(array $args = [])
* @method \Aws\Result getDeployments(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeploymentsAsync(array $args = [])
* @method \Aws\Result getDocumentationPart(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDocumentationPartAsync(array $args = [])
* @method \Aws\Result getDocumentationParts(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDocumentationPartsAsync(array $args = [])
* @method \Aws\Result getDocumentationVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDocumentationVersionAsync(array $args = [])
* @method \Aws\Result getDocumentationVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDocumentationVersionsAsync(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 getExport(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExportAsync(array $args = [])
* @method \Aws\Result getGatewayResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayResponseAsync(array $args = [])
* @method \Aws\Result getGatewayResponses(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayResponsesAsync(array $args = [])
* @method \Aws\Result getIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIntegrationAsync(array $args = [])
* @method \Aws\Result getIntegrationResponse(array $args = [])
@@ -110,6 +140,10 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise getModelTemplateAsync(array $args = [])
* @method \Aws\Result getModels(array $args = [])
* @method \GuzzleHttp\Promise\Promise getModelsAsync(array $args = [])
* @method \Aws\Result getRequestValidator(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRequestValidatorAsync(array $args = [])
* @method \Aws\Result getRequestValidators(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRequestValidatorsAsync(array $args = [])
* @method \Aws\Result getResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise getResourceAsync(array $args = [])
* @method \Aws\Result getResources(array $args = [])
@@ -120,10 +154,16 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise getRestApisAsync(array $args = [])
* @method \Aws\Result getSdk(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSdkAsync(array $args = [])
* @method \Aws\Result getSdkType(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSdkTypeAsync(array $args = [])
* @method \Aws\Result getSdkTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSdkTypesAsync(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 getUsage(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUsageAsync(array $args = [])
* @method \Aws\Result getUsagePlan(array $args = [])
@@ -134,10 +174,18 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise getUsagePlanKeysAsync(array $args = [])
* @method \Aws\Result getUsagePlans(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUsagePlansAsync(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 importApiKeys(array $args = [])
* @method \GuzzleHttp\Promise\Promise importApiKeysAsync(array $args = [])
* @method \Aws\Result importDocumentationParts(array $args = [])
* @method \GuzzleHttp\Promise\Promise importDocumentationPartsAsync(array $args = [])
* @method \Aws\Result importRestApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise importRestApiAsync(array $args = [])
* @method \Aws\Result putGatewayResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise putGatewayResponseAsync(array $args = [])
* @method \Aws\Result putIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putIntegrationAsync(array $args = [])
* @method \Aws\Result putIntegrationResponse(array $args = [])
@@ -148,10 +196,14 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise putMethodResponseAsync(array $args = [])
* @method \Aws\Result putRestApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise putRestApiAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result testInvokeAuthorizer(array $args = [])
* @method \GuzzleHttp\Promise\Promise testInvokeAuthorizerAsync(array $args = [])
* @method \Aws\Result testInvokeMethod(array $args = [])
* @method \GuzzleHttp\Promise\Promise testInvokeMethodAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAccountAsync(array $args = [])
* @method \Aws\Result updateApiKey(array $args = [])
@@ -164,8 +216,14 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise updateClientCertificateAsync(array $args = [])
* @method \Aws\Result updateDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDeploymentAsync(array $args = [])
* @method \Aws\Result updateDocumentationPart(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDocumentationPartAsync(array $args = [])
* @method \Aws\Result updateDocumentationVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDocumentationVersionAsync(array $args = [])
* @method \Aws\Result updateDomainName(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDomainNameAsync(array $args = [])
* @method \Aws\Result updateGatewayResponse(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayResponseAsync(array $args = [])
* @method \Aws\Result updateIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateIntegrationAsync(array $args = [])
* @method \Aws\Result updateIntegrationResponse(array $args = [])
@@ -176,6 +234,8 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise updateMethodResponseAsync(array $args = [])
* @method \Aws\Result updateModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateModelAsync(array $args = [])
* @method \Aws\Result updateRequestValidator(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRequestValidatorAsync(array $args = [])
* @method \Aws\Result updateResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateResourceAsync(array $args = [])
* @method \Aws\Result updateRestApi(array $args = [])
@@ -186,6 +246,8 @@ use Psr\Http\Message\RequestInterface;
* @method \GuzzleHttp\Promise\Promise updateUsageAsync(array $args = [])
* @method \Aws\Result updateUsagePlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUsagePlanAsync(array $args = [])
* @method \Aws\Result updateVpcLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateVpcLinkAsync(array $args = [])
*/
class ApiGatewayClient extends AwsClient
{

View File

@@ -0,0 +1,63 @@
<?php
namespace Aws\AppSync;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS AppSync** service.
* @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 createGraphqlApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGraphqlApiAsync(array $args = [])
* @method \Aws\Result createResolver(array $args = [])
* @method \GuzzleHttp\Promise\Promise createResolverAsync(array $args = [])
* @method \Aws\Result createType(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTypeAsync(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 deleteGraphqlApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGraphqlApiAsync(array $args = [])
* @method \Aws\Result deleteResolver(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteResolverAsync(array $args = [])
* @method \Aws\Result deleteType(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTypeAsync(array $args = [])
* @method \Aws\Result getDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDataSourceAsync(array $args = [])
* @method \Aws\Result getGraphqlApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGraphqlApiAsync(array $args = [])
* @method \Aws\Result getIntrospectionSchema(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIntrospectionSchemaAsync(array $args = [])
* @method \Aws\Result getResolver(array $args = [])
* @method \GuzzleHttp\Promise\Promise getResolverAsync(array $args = [])
* @method \Aws\Result getSchemaCreationStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSchemaCreationStatusAsync(array $args = [])
* @method \Aws\Result getType(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTypeAsync(array $args = [])
* @method \Aws\Result listApiKeys(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApiKeysAsync(array $args = [])
* @method \Aws\Result listDataSources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataSourcesAsync(array $args = [])
* @method \Aws\Result listGraphqlApis(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGraphqlApisAsync(array $args = [])
* @method \Aws\Result listResolvers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listResolversAsync(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 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 updateGraphqlApi(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGraphqlApiAsync(array $args = [])
* @method \Aws\Result updateResolver(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateResolverAsync(array $args = [])
* @method \Aws\Result updateType(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTypeAsync(array $args = [])
*/
class AppSyncClient extends AwsClient {}

View File

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

View File

@@ -7,6 +7,8 @@ use Aws\AwsClient;
* This client is used to interact with the **Application Auto Scaling** service.
* @method \Aws\Result deleteScalingPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteScalingPolicyAsync(array $args = [])
* @method \Aws\Result deleteScheduledAction(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteScheduledActionAsync(array $args = [])
* @method \Aws\Result deregisterScalableTarget(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterScalableTargetAsync(array $args = [])
* @method \Aws\Result describeScalableTargets(array $args = [])
@@ -15,8 +17,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeScalingActivitiesAsync(array $args = [])
* @method \Aws\Result describeScalingPolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeScalingPoliciesAsync(array $args = [])
* @method \Aws\Result describeScheduledActions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeScheduledActionsAsync(array $args = [])
* @method \Aws\Result putScalingPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putScalingPolicyAsync(array $args = [])
* @method \Aws\Result putScheduledAction(array $args = [])
* @method \GuzzleHttp\Promise\Promise putScheduledActionAsync(array $args = [])
* @method \Aws\Result registerScalableTarget(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerScalableTargetAsync(array $args = [])
*/

View File

@@ -5,8 +5,14 @@ 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 createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTagsAsync(array $args = [])
* @method \Aws\Result deleteApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApplicationsAsync(array $args = [])
* @method \Aws\Result deleteTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = [])
* @method \Aws\Result describeAgents(array $args = [])
@@ -15,15 +21,27 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeConfigurationsAsync(array $args = [])
* @method \Aws\Result describeExportConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeExportConfigurationsAsync(array $args = [])
* @method \Aws\Result describeExportTasks(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeExportTasksAsync(array $args = [])
* @method \Aws\Result describeTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = [])
* @method \Aws\Result disassociateConfigurationItemsFromApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateConfigurationItemsFromApplicationAsync(array $args = [])
* @method \Aws\Result exportConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportConfigurationsAsync(array $args = [])
* @method \Aws\Result getDiscoverySummary(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDiscoverySummaryAsync(array $args = [])
* @method \Aws\Result listConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConfigurationsAsync(array $args = [])
* @method \Aws\Result listServerNeighbors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listServerNeighborsAsync(array $args = [])
* @method \Aws\Result startDataCollectionByAgentIds(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDataCollectionByAgentIdsAsync(array $args = [])
* @method \Aws\Result startExportTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startExportTaskAsync(array $args = [])
* @method \Aws\Result stopDataCollectionByAgentIds(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopDataCollectionByAgentIdsAsync(array $args = [])
* @method \Aws\Result updateApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = [])
*/
class ApplicationDiscoveryServiceClient extends AwsClient {}

View File

@@ -0,0 +1,81 @@
<?php
namespace Aws\Appstream;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon AppStream** service.
* @method \Aws\Result associateFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateFleetAsync(array $args = [])
* @method \Aws\Result copyImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise copyImageAsync(array $args = [])
* @method \Aws\Result createDirectoryConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDirectoryConfigAsync(array $args = [])
* @method \Aws\Result createFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFleetAsync(array $args = [])
* @method \Aws\Result createImageBuilder(array $args = [])
* @method \GuzzleHttp\Promise\Promise createImageBuilderAsync(array $args = [])
* @method \Aws\Result createImageBuilderStreamingURL(array $args = [])
* @method \GuzzleHttp\Promise\Promise createImageBuilderStreamingURLAsync(array $args = [])
* @method \Aws\Result createStack(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStackAsync(array $args = [])
* @method \Aws\Result createStreamingURL(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStreamingURLAsync(array $args = [])
* @method \Aws\Result deleteDirectoryConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDirectoryConfigAsync(array $args = [])
* @method \Aws\Result deleteFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFleetAsync(array $args = [])
* @method \Aws\Result deleteImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteImageAsync(array $args = [])
* @method \Aws\Result deleteImageBuilder(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteImageBuilderAsync(array $args = [])
* @method \Aws\Result deleteImagePermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteImagePermissionsAsync(array $args = [])
* @method \Aws\Result deleteStack(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteStackAsync(array $args = [])
* @method \Aws\Result describeDirectoryConfigs(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDirectoryConfigsAsync(array $args = [])
* @method \Aws\Result describeFleets(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFleetsAsync(array $args = [])
* @method \Aws\Result describeImageBuilders(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeImageBuildersAsync(array $args = [])
* @method \Aws\Result describeImagePermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeImagePermissionsAsync(array $args = [])
* @method \Aws\Result describeImages(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeImagesAsync(array $args = [])
* @method \Aws\Result describeSessions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSessionsAsync(array $args = [])
* @method \Aws\Result describeStacks(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStacksAsync(array $args = [])
* @method \Aws\Result disassociateFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateFleetAsync(array $args = [])
* @method \Aws\Result expireSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise expireSessionAsync(array $args = [])
* @method \Aws\Result listAssociatedFleets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssociatedFleetsAsync(array $args = [])
* @method \Aws\Result listAssociatedStacks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssociatedStacksAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result startFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise startFleetAsync(array $args = [])
* @method \Aws\Result startImageBuilder(array $args = [])
* @method \GuzzleHttp\Promise\Promise startImageBuilderAsync(array $args = [])
* @method \Aws\Result stopFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopFleetAsync(array $args = [])
* @method \Aws\Result stopImageBuilder(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopImageBuilderAsync(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 updateDirectoryConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDirectoryConfigAsync(array $args = [])
* @method \Aws\Result updateFleet(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFleetAsync(array $args = [])
* @method \Aws\Result updateImagePermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateImagePermissionsAsync(array $args = [])
* @method \Aws\Result updateStack(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateStackAsync(array $args = [])
*/
class AppstreamClient extends AwsClient {}

View File

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

View File

@@ -0,0 +1,31 @@
<?php
namespace Aws\Athena;
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 batchGetQueryExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetQueryExecutionAsync(array $args = [])
* @method \Aws\Result createNamedQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNamedQueryAsync(array $args = [])
* @method \Aws\Result deleteNamedQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNamedQueryAsync(array $args = [])
* @method \Aws\Result getNamedQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise getNamedQueryAsync(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 listNamedQueries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNamedQueriesAsync(array $args = [])
* @method \Aws\Result listQueryExecutions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listQueryExecutionsAsync(array $args = [])
* @method \Aws\Result startQueryExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise startQueryExecutionAsync(array $args = [])
* @method \Aws\Result stopQueryExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopQueryExecutionAsync(array $args = [])
*/
class AthenaClient extends AwsClient {}

View File

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

View File

@@ -0,0 +1,19 @@
<?php
namespace Aws\AutoScalingPlans;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Auto Scaling Plans** service.
* @method \Aws\Result createScalingPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise createScalingPlanAsync(array $args = [])
* @method \Aws\Result deleteScalingPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteScalingPlanAsync(array $args = [])
* @method \Aws\Result describeScalingPlanResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeScalingPlanResourcesAsync(array $args = [])
* @method \Aws\Result describeScalingPlans(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeScalingPlansAsync(array $args = [])
* @method \Aws\Result updateScalingPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateScalingPlanAsync(array $args = [])
*/
class AutoScalingPlansClient extends AwsClient {}

View File

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

View File

@@ -102,6 +102,13 @@ class AwsClient implements AwsClientInterface
* accepts a PSR-7 request object and returns a promise that is fulfilled
* with a PSR-7 response object or rejected with an array of exception
* data. NOTE: This option supersedes any provided "handler" option.
* - idempotency_auto_fill: (bool|callable) Set to false to disable SDK to
* populate parameters that enabled 'idempotencyToken' trait with a random
* UUID v4 value on your behalf. Using default value 'true' still allows
* parameter value to be overwritten when provided. Note: auto-fill only
* works when cryptographically secure random bytes generator functions
* (random_bytes, openssl_random_pseudo_bytes or mcrypt_create_iv) can be
* found. You may also provide a callable source of random bytes.
* - profile: (string) Allows you to specify which profile to use when
* credentials are created from the AWS credentials file in your HOME
* directory. This setting overrides the AWS_PROFILE environment
@@ -267,13 +274,17 @@ class AwsClient implements AwsClientInterface
$resolver = static function (
CommandInterface $c
) use ($api, $provider, $name, $region, $version) {
if ('none' === $api->getOperation($c->getName())['authtype']) {
$version = 'anonymous';
$authType = $api->getOperation($c->getName())['authtype'];
switch ($authType){
case 'none':
$version = 'anonymous';
break;
case 'v4-unsigned-body':
$version = 'v4-unsigned-body';
break;
}
return SignatureProvider::resolve($provider, $version, $name, $region);
};
$this->handlerList->appendSign(
Middleware::signer($this->credentialProvider, $resolver),
'signer'

View File

@@ -2,7 +2,6 @@
namespace Aws;
use Aws\Api\Service;
use GuzzleHttp\Promise\Promise;
/**
* A trait providing generic functionality for interacting with Amazon Web

View File

@@ -0,0 +1,41 @@
<?php
namespace Aws\Batch;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Batch** service.
* @method \Aws\Result cancelJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelJobAsync(array $args = [])
* @method \Aws\Result createComputeEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise createComputeEnvironmentAsync(array $args = [])
* @method \Aws\Result createJobQueue(array $args = [])
* @method \GuzzleHttp\Promise\Promise createJobQueueAsync(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 deregisterJobDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterJobDefinitionAsync(array $args = [])
* @method \Aws\Result describeComputeEnvironments(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeComputeEnvironmentsAsync(array $args = [])
* @method \Aws\Result describeJobDefinitions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeJobDefinitionsAsync(array $args = [])
* @method \Aws\Result describeJobQueues(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeJobQueuesAsync(array $args = [])
* @method \Aws\Result describeJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeJobsAsync(array $args = [])
* @method \Aws\Result listJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listJobsAsync(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 terminateJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise terminateJobAsync(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 = [])
*/
class BatchClient extends AwsClient {}

View File

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

View File

@@ -0,0 +1,35 @@
<?php
namespace Aws\Budgets;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Budgets** service.
* @method \Aws\Result createBudget(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBudgetAsync(array $args = [])
* @method \Aws\Result createNotification(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNotificationAsync(array $args = [])
* @method \Aws\Result createSubscriber(array $args = [])
* @method \GuzzleHttp\Promise\Promise createSubscriberAsync(array $args = [])
* @method \Aws\Result deleteBudget(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBudgetAsync(array $args = [])
* @method \Aws\Result deleteNotification(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNotificationAsync(array $args = [])
* @method \Aws\Result deleteSubscriber(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSubscriberAsync(array $args = [])
* @method \Aws\Result describeBudget(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeBudgetAsync(array $args = [])
* @method \Aws\Result describeBudgets(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeBudgetsAsync(array $args = [])
* @method \Aws\Result describeNotificationsForBudget(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeNotificationsForBudgetAsync(array $args = [])
* @method \Aws\Result describeSubscribersForNotification(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSubscribersForNotificationAsync(array $args = [])
* @method \Aws\Result updateBudget(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBudgetAsync(array $args = [])
* @method \Aws\Result updateNotification(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNotificationAsync(array $args = [])
* @method \Aws\Result updateSubscriber(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateSubscriberAsync(array $args = [])
*/
class BudgetsClient extends AwsClient {}

View File

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

View File

@@ -6,13 +6,10 @@ use Aws\Api\ApiProvider;
use Aws\Api\Service;
use Aws\Credentials\Credentials;
use Aws\Credentials\CredentialsInterface;
use Aws\Endpoint\Partition;
use Aws\Endpoint\PartitionEndpointProvider;
use Aws\Endpoint\PartitionProviderInterface;
use Aws\Signature\SignatureProvider;
use Aws\Endpoint\EndpointProvider;
use Aws\Credentials\CredentialProvider;
use GuzzleHttp\Promise;
use InvalidArgumentException as IAE;
use Psr\Http\Message\RequestInterface;
@@ -80,6 +77,13 @@ class ClientResolver
'doc' => 'A callable that accepts a signature version name (e.g., "v4"), a service name, and region, and returns a SignatureInterface object or null. This provider is used to create signers utilized by the client. See Aws\\Signature\\SignatureProvider for a list of built-in providers',
'default' => [__CLASS__, '_default_signature_provider'],
],
'api_provider' => [
'type' => 'value',
'valid' => ['callable'],
'doc' => 'An optional PHP callable that accepts a type, service, and version argument, and returns an array of corresponding configuration data. The type value can be one of api, waiter, or paginator.',
'fn' => [__CLASS__, '_apply_api_provider'],
'default' => [ApiProvider::class, 'defaultProvider'],
],
'endpoint_provider' => [
'type' => 'value',
'valid' => ['callable'],
@@ -87,12 +91,12 @@ class ClientResolver
'doc' => '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 is required. See Aws\\Endpoint\\EndpointProvider for a list of built-in providers.',
'default' => [__CLASS__, '_default_endpoint_provider'],
],
'api_provider' => [
'type' => 'value',
'valid' => ['callable'],
'doc' => 'An optional PHP callable that accepts a type, service, and version argument, and returns an array of corresponding configuration data. The type value can be one of api, waiter, or paginator.',
'fn' => [__CLASS__, '_apply_api_provider'],
'default' => [ApiProvider::class, 'defaultProvider'],
'serializer' => [
'default' => [__CLASS__, '_default_serializer'],
'fn' => [__CLASS__, '_apply_serializer'],
'internal' => true,
'type' => 'value',
'valid' => ['callable'],
],
'signature_version' => [
'type' => 'config',
@@ -178,6 +182,13 @@ class ClientResolver
'fn' => [__CLASS__, '_apply_user_agent'],
'default' => [],
],
'idempotency_auto_fill' => [
'type' => 'value',
'valid' => ['bool', 'callable'],
'doc' => 'Set to false to disable SDK to populate parameters that enabled \'idempotencyToken\' trait with a random UUID v4 value on your behalf. Using default value \'true\' still allows parameter value to be overwritten when provided. Note: auto-fill only works when cryptographically secure random bytes generator functions(random_bytes, openssl_random_pseudo_bytes or mcrypt_create_iv) can be found. You may also provide a callable source of random bytes.',
'default' => true,
'fn' => [__CLASS__, '_apply_idempotency_auto_fill']
],
];
/**
@@ -196,7 +207,9 @@ class ClientResolver
* - default: (mixed) The default value of the argument if not provided. If
* a function is provided, then it will be invoked to provide a default
* value. The function is provided the array of options and is expected
* to return the default value of the option.
* to return the default value of the option. The default value can be a
* closure and can not be a callable string that is not part of the
* defaultArgs array.
* - doc: (string) The argument documentation string.
* - fn: (callable) Function used to apply the argument. The function
* accepts the provided value, array of arguments by reference, and an
@@ -221,6 +234,7 @@ class ClientResolver
/**
* Resolves client configuration options and attached event listeners.
* Check for missing keys in passed arguments
*
* @param array $args Provided constructor arguments.
* @param HandlerList $list Handler list to augment.
@@ -237,9 +251,16 @@ class ClientResolver
if (!isset($args[$key])) {
if (isset($a['default'])) {
// Merge defaults in when not present.
$args[$key] = is_callable($a['default'])
? $a['default']($args)
: $a['default'];
if (is_callable($a['default'])
&& (
is_array($a['default'])
|| $a['default'] instanceof \Closure
)
) {
$args[$key] = $a['default']($args);
} else {
$args[$key] = $a['default'];
}
} elseif (empty($a['required'])) {
continue;
} else {
@@ -339,7 +360,7 @@ class ClientResolver
foreach ($this->argDefinitions as $k => $a) {
if (empty($a['required'])
|| isset($a['default'])
|| array_key_exists($k, $args)
|| isset($args[$k])
) {
continue;
}
@@ -365,7 +386,9 @@ class ClientResolver
{
if (is_callable($value)) {
return;
} elseif ($value instanceof CredentialsInterface) {
}
if ($value instanceof CredentialsInterface) {
$args['credentials'] = CredentialProvider::fromCredentials($value);
} elseif (is_array($value)
&& isset($value['key'])
@@ -394,7 +417,7 @@ class ClientResolver
}
}
public static function _apply_api_provider(callable $value, array &$args, HandlerList $list)
public static function _apply_api_provider(callable $value, array &$args)
{
$api = new Service(
ApiProvider::resolve(
@@ -405,37 +428,64 @@ class ClientResolver
),
$value
);
if (
empty($args['config']['signing_name'])
&& isset($api['metadata']['signingName'])
) {
$args['config']['signing_name'] = $api['metadata']['signingName'];
}
$args['api'] = $api;
$args['serializer'] = Service::createSerializer($api, $args['endpoint']);
$args['parser'] = Service::createParser($api);
$args['error_parser'] = Service::createErrorParser($api->getProtocol());
$list->prependBuild(Middleware::requestBuilder($args['serializer']), 'builder');
}
public static function _apply_endpoint_provider(callable $value, array &$args)
{
if (!isset($args['endpoint'])) {
$endpointPrefix = isset($args['api']['metadata']['endpointPrefix'])
? $args['api']['metadata']['endpointPrefix']
: $args['service'];
// Invoke the endpoint provider and throw if it does not resolve.
$result = EndpointProvider::resolve($value, [
'service' => $args['service'],
'service' => $endpointPrefix,
'region' => $args['region'],
'scheme' => $args['scheme']
]);
$args['endpoint'] = $result['endpoint'];
if (isset($result['signatureVersion'])) {
$args['config']['signature_version'] = $result['signatureVersion'];
if (
empty($args['config']['signature_version'])
&& isset($result['signatureVersion'])
) {
$args['config']['signature_version']
= $result['signatureVersion'];
}
if (isset($result['signingRegion'])) {
if (
empty($args['config']['signing_region'])
&& isset($result['signingRegion'])
) {
$args['config']['signing_region'] = $result['signingRegion'];
}
if (isset($result['signingName'])) {
if (
empty($args['config']['signing_name'])
&& isset($result['signingName'])
) {
$args['config']['signing_name'] = $result['signingName'];
}
}
}
public static function _apply_serializer($value, array &$args, HandlerList $list)
{
$list->prependBuild(Middleware::requestBuilder($value), 'builder');
}
public static function _apply_debug($value, array &$args, HandlerList $list)
{
if ($value !== false) {
@@ -516,6 +566,9 @@ class ClientResolver
$value = array_map('strval', $value);
if (defined('HHVM_VERSION')) {
array_unshift($value, 'HHVM/' . HHVM_VERSION);
}
array_unshift($value, 'aws-sdk-php/' . Sdk::VERSION);
$args['ua_append'] = $value;
@@ -547,12 +600,44 @@ class ClientResolver
$args['endpoint'] = $value;
}
public static function _apply_idempotency_auto_fill(
$value,
array &$args,
HandlerList $list
) {
$enabled = false;
$generator = null;
if (is_bool($value)) {
$enabled = $value;
} elseif (is_callable($value)) {
$enabled = true;
$generator = $value;
}
if ($enabled) {
$list->prependInit(
IdempotencyTokenMiddleware::wrap($args['api'], $generator),
'idempotency_auto_fill'
);
}
}
public static function _default_endpoint_provider(array $args)
{
return PartitionEndpointProvider::defaultProvider()
->getPartition($args['region'], $args['service']);
}
public static function _default_serializer(array $args)
{
return Service::createSerializer(
$args['api'],
$args['endpoint']
);
}
public static function _default_signature_provider()
{
return SignatureProvider::defaultProvider();

View File

@@ -0,0 +1,29 @@
<?php
namespace Aws\Cloud9;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Cloud9** service.
* @method \Aws\Result createEnvironmentEC2(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEnvironmentEC2Async(array $args = [])
* @method \Aws\Result createEnvironmentMembership(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEnvironmentMembershipAsync(array $args = [])
* @method \Aws\Result deleteEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEnvironmentAsync(array $args = [])
* @method \Aws\Result deleteEnvironmentMembership(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEnvironmentMembershipAsync(array $args = [])
* @method \Aws\Result describeEnvironmentMemberships(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEnvironmentMembershipsAsync(array $args = [])
* @method \Aws\Result describeEnvironmentStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEnvironmentStatusAsync(array $args = [])
* @method \Aws\Result describeEnvironments(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEnvironmentsAsync(array $args = [])
* @method \Aws\Result listEnvironments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEnvironmentsAsync(array $args = [])
* @method \Aws\Result updateEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateEnvironmentAsync(array $args = [])
* @method \Aws\Result updateEnvironmentMembership(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateEnvironmentMembershipAsync(array $args = [])
*/
class Cloud9Client extends AwsClient {}

View File

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

View File

@@ -0,0 +1,141 @@
<?php
namespace Aws\CloudDirectory;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon CloudDirectory** service.
* @method \Aws\Result addFacetToObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise addFacetToObjectAsync(array $args = [])
* @method \Aws\Result applySchema(array $args = [])
* @method \GuzzleHttp\Promise\Promise applySchemaAsync(array $args = [])
* @method \Aws\Result attachObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise attachObjectAsync(array $args = [])
* @method \Aws\Result attachPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise attachPolicyAsync(array $args = [])
* @method \Aws\Result attachToIndex(array $args = [])
* @method \GuzzleHttp\Promise\Promise attachToIndexAsync(array $args = [])
* @method \Aws\Result attachTypedLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise attachTypedLinkAsync(array $args = [])
* @method \Aws\Result batchRead(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchReadAsync(array $args = [])
* @method \Aws\Result batchWrite(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchWriteAsync(array $args = [])
* @method \Aws\Result createDirectory(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDirectoryAsync(array $args = [])
* @method \Aws\Result createFacet(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFacetAsync(array $args = [])
* @method \Aws\Result createIndex(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIndexAsync(array $args = [])
* @method \Aws\Result createObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise createObjectAsync(array $args = [])
* @method \Aws\Result createSchema(array $args = [])
* @method \GuzzleHttp\Promise\Promise createSchemaAsync(array $args = [])
* @method \Aws\Result createTypedLinkFacet(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTypedLinkFacetAsync(array $args = [])
* @method \Aws\Result deleteDirectory(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDirectoryAsync(array $args = [])
* @method \Aws\Result deleteFacet(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFacetAsync(array $args = [])
* @method \Aws\Result deleteObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteObjectAsync(array $args = [])
* @method \Aws\Result deleteSchema(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSchemaAsync(array $args = [])
* @method \Aws\Result deleteTypedLinkFacet(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTypedLinkFacetAsync(array $args = [])
* @method \Aws\Result detachFromIndex(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachFromIndexAsync(array $args = [])
* @method \Aws\Result detachObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachObjectAsync(array $args = [])
* @method \Aws\Result detachPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachPolicyAsync(array $args = [])
* @method \Aws\Result detachTypedLink(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachTypedLinkAsync(array $args = [])
* @method \Aws\Result disableDirectory(array $args = [])
* @method \GuzzleHttp\Promise\Promise disableDirectoryAsync(array $args = [])
* @method \Aws\Result enableDirectory(array $args = [])
* @method \GuzzleHttp\Promise\Promise enableDirectoryAsync(array $args = [])
* @method \Aws\Result getAppliedSchemaVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAppliedSchemaVersionAsync(array $args = [])
* @method \Aws\Result getDirectory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDirectoryAsync(array $args = [])
* @method \Aws\Result getFacet(array $args = [])
* @method \GuzzleHttp\Promise\Promise getFacetAsync(array $args = [])
* @method \Aws\Result getLinkAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLinkAttributesAsync(array $args = [])
* @method \Aws\Result getObjectAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise getObjectAttributesAsync(array $args = [])
* @method \Aws\Result getObjectInformation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getObjectInformationAsync(array $args = [])
* @method \Aws\Result getSchemaAsJson(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSchemaAsJsonAsync(array $args = [])
* @method \Aws\Result getTypedLinkFacetInformation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTypedLinkFacetInformationAsync(array $args = [])
* @method \Aws\Result listAppliedSchemaArns(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAppliedSchemaArnsAsync(array $args = [])
* @method \Aws\Result listAttachedIndices(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAttachedIndicesAsync(array $args = [])
* @method \Aws\Result listDevelopmentSchemaArns(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDevelopmentSchemaArnsAsync(array $args = [])
* @method \Aws\Result listDirectories(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDirectoriesAsync(array $args = [])
* @method \Aws\Result listFacetAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFacetAttributesAsync(array $args = [])
* @method \Aws\Result listFacetNames(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFacetNamesAsync(array $args = [])
* @method \Aws\Result listIncomingTypedLinks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIncomingTypedLinksAsync(array $args = [])
* @method \Aws\Result listIndex(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIndexAsync(array $args = [])
* @method \Aws\Result listObjectAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listObjectAttributesAsync(array $args = [])
* @method \Aws\Result listObjectChildren(array $args = [])
* @method \GuzzleHttp\Promise\Promise listObjectChildrenAsync(array $args = [])
* @method \Aws\Result listObjectParentPaths(array $args = [])
* @method \GuzzleHttp\Promise\Promise listObjectParentPathsAsync(array $args = [])
* @method \Aws\Result listObjectParents(array $args = [])
* @method \GuzzleHttp\Promise\Promise listObjectParentsAsync(array $args = [])
* @method \Aws\Result listObjectPolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listObjectPoliciesAsync(array $args = [])
* @method \Aws\Result listOutgoingTypedLinks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOutgoingTypedLinksAsync(array $args = [])
* @method \Aws\Result listPolicyAttachments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPolicyAttachmentsAsync(array $args = [])
* @method \Aws\Result listPublishedSchemaArns(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPublishedSchemaArnsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result listTypedLinkFacetAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTypedLinkFacetAttributesAsync(array $args = [])
* @method \Aws\Result listTypedLinkFacetNames(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTypedLinkFacetNamesAsync(array $args = [])
* @method \Aws\Result lookupPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise lookupPolicyAsync(array $args = [])
* @method \Aws\Result publishSchema(array $args = [])
* @method \GuzzleHttp\Promise\Promise publishSchemaAsync(array $args = [])
* @method \Aws\Result putSchemaFromJson(array $args = [])
* @method \GuzzleHttp\Promise\Promise putSchemaFromJsonAsync(array $args = [])
* @method \Aws\Result removeFacetFromObject(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeFacetFromObjectAsync(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 updateFacet(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFacetAsync(array $args = [])
* @method \Aws\Result updateLinkAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateLinkAttributesAsync(array $args = [])
* @method \Aws\Result updateObjectAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateObjectAttributesAsync(array $args = [])
* @method \Aws\Result updateSchema(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateSchemaAsync(array $args = [])
* @method \Aws\Result updateTypedLinkFacet(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTypedLinkFacetAsync(array $args = [])
* @method \Aws\Result upgradeAppliedSchema(array $args = [])
* @method \GuzzleHttp\Promise\Promise upgradeAppliedSchemaAsync(array $args = [])
* @method \Aws\Result upgradePublishedSchema(array $args = [])
* @method \GuzzleHttp\Promise\Promise upgradePublishedSchemaAsync(array $args = [])
* @method \Aws\Result listManagedSchemaArns(array $args = []) (supported in versions 2017-01-11)
* @method \GuzzleHttp\Promise\Promise listManagedSchemaArnsAsync(array $args = []) (supported in versions 2017-01-11)
*/
class CloudDirectoryClient extends AwsClient {}

View File

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

View File

@@ -14,20 +14,34 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createChangeSetAsync(array $args = [])
* @method \Aws\Result createStack(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStackAsync(array $args = [])
* @method \Aws\Result createStackInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStackInstancesAsync(array $args = [])
* @method \Aws\Result createStackSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStackSetAsync(array $args = [])
* @method \Aws\Result deleteChangeSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteChangeSetAsync(array $args = [])
* @method \Aws\Result deleteStack(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteStackAsync(array $args = [])
* @method \Aws\Result deleteStackInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteStackInstancesAsync(array $args = [])
* @method \Aws\Result deleteStackSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteStackSetAsync(array $args = [])
* @method \Aws\Result describeAccountLimits(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAccountLimitsAsync(array $args = [])
* @method \Aws\Result describeChangeSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeChangeSetAsync(array $args = [])
* @method \Aws\Result describeStackEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStackEventsAsync(array $args = [])
* @method \Aws\Result describeStackInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStackInstanceAsync(array $args = [])
* @method \Aws\Result describeStackResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStackResourceAsync(array $args = [])
* @method \Aws\Result describeStackResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStackResourcesAsync(array $args = [])
* @method \Aws\Result describeStackSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStackSetAsync(array $args = [])
* @method \Aws\Result describeStackSetOperation(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStackSetOperationAsync(array $args = [])
* @method \Aws\Result describeStacks(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStacksAsync(array $args = [])
* @method \Aws\Result estimateTemplateCost(array $args = [])
@@ -42,16 +56,36 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getTemplateSummaryAsync(array $args = [])
* @method \Aws\Result listChangeSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listChangeSetsAsync(array $args = [])
* @method \Aws\Result listExports(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExportsAsync(array $args = [])
* @method \Aws\Result listImports(array $args = [])
* @method \GuzzleHttp\Promise\Promise listImportsAsync(array $args = [])
* @method \Aws\Result listStackInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStackInstancesAsync(array $args = [])
* @method \Aws\Result listStackResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStackResourcesAsync(array $args = [])
* @method \Aws\Result listStackSetOperationResults(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStackSetOperationResultsAsync(array $args = [])
* @method \Aws\Result listStackSetOperations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStackSetOperationsAsync(array $args = [])
* @method \Aws\Result listStackSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStackSetsAsync(array $args = [])
* @method \Aws\Result listStacks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStacksAsync(array $args = [])
* @method \Aws\Result setStackPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise setStackPolicyAsync(array $args = [])
* @method \Aws\Result signalResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise signalResourceAsync(array $args = [])
* @method \Aws\Result stopStackSetOperation(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopStackSetOperationAsync(array $args = [])
* @method \Aws\Result updateStack(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateStackAsync(array $args = [])
* @method \Aws\Result updateStackInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateStackInstancesAsync(array $args = [])
* @method \Aws\Result updateStackSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateStackSetAsync(array $args = [])
* @method \Aws\Result updateTerminationProtection(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTerminationProtectionAsync(array $args = [])
* @method \Aws\Result validateTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise validateTemplateAsync(array $args = [])
*/

View File

@@ -50,16 +50,54 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateDistributionAsync(array $args = [])
* @method \Aws\Result updateStreamingDistribution(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateStreamingDistributionAsync(array $args = [])
* @method \Aws\Result createDistributionWithTags(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \GuzzleHttp\Promise\Promise createDistributionWithTagsAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \Aws\Result createStreamingDistributionWithTags(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \GuzzleHttp\Promise\Promise createStreamingDistributionWithTagsAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \Aws\Result listTagsForResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \Aws\Result tagResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \Aws\Result untagResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07)
* @method \Aws\Result createDistributionWithTags(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \GuzzleHttp\Promise\Promise createDistributionWithTagsAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \Aws\Result createStreamingDistributionWithTags(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \GuzzleHttp\Promise\Promise createStreamingDistributionWithTagsAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \Aws\Result listTagsForResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \Aws\Result tagResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \Aws\Result untagResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30)
* @method \Aws\Result deleteServiceLinkedRole(array $args = []) (supported in versions 2017-03-25)
* @method \GuzzleHttp\Promise\Promise deleteServiceLinkedRoleAsync(array $args = []) (supported in versions 2017-03-25)
* @method \Aws\Result createFieldLevelEncryptionConfig(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise createFieldLevelEncryptionConfigAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result createFieldLevelEncryptionProfile(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise createFieldLevelEncryptionProfileAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result createPublicKey(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise createPublicKeyAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result deleteFieldLevelEncryptionConfig(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise deleteFieldLevelEncryptionConfigAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result deleteFieldLevelEncryptionProfile(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise deleteFieldLevelEncryptionProfileAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result deletePublicKey(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise deletePublicKeyAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result getFieldLevelEncryption(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise getFieldLevelEncryptionAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result getFieldLevelEncryptionConfig(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise getFieldLevelEncryptionConfigAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result getFieldLevelEncryptionProfile(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise getFieldLevelEncryptionProfileAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result getFieldLevelEncryptionProfileConfig(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise getFieldLevelEncryptionProfileConfigAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result getPublicKey(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise getPublicKeyAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result getPublicKeyConfig(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise getPublicKeyConfigAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result listFieldLevelEncryptionConfigs(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise listFieldLevelEncryptionConfigsAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result listFieldLevelEncryptionProfiles(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise listFieldLevelEncryptionProfilesAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result listPublicKeys(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise listPublicKeysAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result updateFieldLevelEncryptionConfig(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise updateFieldLevelEncryptionConfigAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result updateFieldLevelEncryptionProfile(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise updateFieldLevelEncryptionProfileAsync(array $args = []) (supported in versions 2017-10-30)
* @method \Aws\Result updatePublicKey(array $args = []) (supported in versions 2017-10-30)
* @method \GuzzleHttp\Promise\Promise updatePublicKeyAsync(array $args = []) (supported in versions 2017-10-30)
*/
class CloudFrontClient extends AwsClient
{

View File

@@ -66,6 +66,7 @@ class Signer
$policy = preg_replace('/\s/s', '', $policy);
$signatureHash['Policy'] = $this->encode($policy);
} elseif ($resource && $expires) {
$expires = (int) $expires; // Handle epoch passed as string
$policy = $this->createCannedPolicy($resource, $expires);
$signatureHash['Expires'] = $expires;
} else {

View File

@@ -0,0 +1,31 @@
<?php
namespace Aws\CloudHSMV2;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS CloudHSM V2** service.
* @method \Aws\Result copyBackupToRegion(array $args = [])
* @method \GuzzleHttp\Promise\Promise copyBackupToRegionAsync(array $args = [])
* @method \Aws\Result createCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = [])
* @method \Aws\Result createHsm(array $args = [])
* @method \GuzzleHttp\Promise\Promise createHsmAsync(array $args = [])
* @method \Aws\Result deleteCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = [])
* @method \Aws\Result deleteHsm(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteHsmAsync(array $args = [])
* @method \Aws\Result describeBackups(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeBackupsAsync(array $args = [])
* @method \Aws\Result describeClusters(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeClustersAsync(array $args = [])
* @method \Aws\Result initializeCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise initializeClusterAsync(array $args = [])
* @method \Aws\Result listTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsAsync(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 = [])
*/
class CloudHSMV2Client extends AwsClient {}

View File

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

View File

@@ -14,6 +14,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteTrailAsync(array $args = [])
* @method \Aws\Result describeTrails(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTrailsAsync(array $args = [])
* @method \Aws\Result getEventSelectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEventSelectorsAsync(array $args = [])
* @method \Aws\Result getTrailStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTrailStatusAsync(array $args = [])
* @method \Aws\Result listPublicKeys(array $args = [])
@@ -22,6 +24,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
* @method \Aws\Result lookupEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise lookupEventsAsync(array $args = [])
* @method \Aws\Result putEventSelectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise putEventSelectorsAsync(array $args = [])
* @method \Aws\Result removeTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeTagsAsync(array $args = [])
* @method \Aws\Result startLogging(array $args = [])

View File

@@ -8,6 +8,8 @@ use Aws\AwsClient;
*
* @method \Aws\Result deleteAlarms(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAlarmsAsync(array $args = [])
* @method \Aws\Result deleteDashboards(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDashboardsAsync(array $args = [])
* @method \Aws\Result describeAlarmHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAlarmHistoryAsync(array $args = [])
* @method \Aws\Result describeAlarms(array $args = [])
@@ -18,10 +20,18 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise disableAlarmActionsAsync(array $args = [])
* @method \Aws\Result enableAlarmActions(array $args = [])
* @method \GuzzleHttp\Promise\Promise enableAlarmActionsAsync(array $args = [])
* @method \Aws\Result getDashboard(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDashboardAsync(array $args = [])
* @method \Aws\Result getMetricData(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMetricDataAsync(array $args = [])
* @method \Aws\Result getMetricStatistics(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMetricStatisticsAsync(array $args = [])
* @method \Aws\Result listDashboards(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDashboardsAsync(array $args = [])
* @method \Aws\Result listMetrics(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMetricsAsync(array $args = [])
* @method \Aws\Result putDashboard(array $args = [])
* @method \GuzzleHttp\Promise\Promise putDashboardAsync(array $args = [])
* @method \Aws\Result putMetricAlarm(array $args = [])
* @method \GuzzleHttp\Promise\Promise putMetricAlarmAsync(array $args = [])
* @method \Aws\Result putMetricData(array $args = [])

View File

@@ -8,6 +8,8 @@ use Aws\AwsClient;
*
* @method \Aws\Result deleteRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRuleAsync(array $args = [])
* @method \Aws\Result describeEventBus(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEventBusAsync(array $args = [])
* @method \Aws\Result describeRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeRuleAsync(array $args = [])
* @method \Aws\Result disableRule(array $args = [])
@@ -22,10 +24,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTargetsByRuleAsync(array $args = [])
* @method \Aws\Result putEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise putEventsAsync(array $args = [])
* @method \Aws\Result putPermission(array $args = [])
* @method \GuzzleHttp\Promise\Promise putPermissionAsync(array $args = [])
* @method \Aws\Result putRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise putRuleAsync(array $args = [])
* @method \Aws\Result putTargets(array $args = [])
* @method \GuzzleHttp\Promise\Promise putTargetsAsync(array $args = [])
* @method \Aws\Result removePermission(array $args = [])
* @method \GuzzleHttp\Promise\Promise removePermissionAsync(array $args = [])
* @method \Aws\Result removeTargets(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeTargetsAsync(array $args = [])
* @method \Aws\Result testEventPattern(array $args = [])

View File

@@ -6,6 +6,8 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon CloudWatch Logs** service.
*
* @method \Aws\Result associateKmsKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateKmsKeyAsync(array $args = [])
* @method \Aws\Result cancelExportTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelExportTaskAsync(array $args = [])
* @method \Aws\Result createExportTask(array $args = [])
@@ -22,6 +24,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteLogStreamAsync(array $args = [])
* @method \Aws\Result deleteMetricFilter(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteMetricFilterAsync(array $args = [])
* @method \Aws\Result deleteResourcePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteResourcePolicyAsync(array $args = [])
* @method \Aws\Result deleteRetentionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRetentionPolicyAsync(array $args = [])
* @method \Aws\Result deleteSubscriptionFilter(array $args = [])
@@ -36,12 +40,18 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeLogStreamsAsync(array $args = [])
* @method \Aws\Result describeMetricFilters(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeMetricFiltersAsync(array $args = [])
* @method \Aws\Result describeResourcePolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeResourcePoliciesAsync(array $args = [])
* @method \Aws\Result describeSubscriptionFilters(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSubscriptionFiltersAsync(array $args = [])
* @method \Aws\Result disassociateKmsKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateKmsKeyAsync(array $args = [])
* @method \Aws\Result filterLogEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise filterLogEventsAsync(array $args = [])
* @method \Aws\Result getLogEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLogEventsAsync(array $args = [])
* @method \Aws\Result listTagsLogGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsLogGroupAsync(array $args = [])
* @method \Aws\Result putDestination(array $args = [])
* @method \GuzzleHttp\Promise\Promise putDestinationAsync(array $args = [])
* @method \Aws\Result putDestinationPolicy(array $args = [])
@@ -50,11 +60,17 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise putLogEventsAsync(array $args = [])
* @method \Aws\Result putMetricFilter(array $args = [])
* @method \GuzzleHttp\Promise\Promise putMetricFilterAsync(array $args = [])
* @method \Aws\Result putResourcePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putResourcePolicyAsync(array $args = [])
* @method \Aws\Result putRetentionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putRetentionPolicyAsync(array $args = [])
* @method \Aws\Result putSubscriptionFilter(array $args = [])
* @method \GuzzleHttp\Promise\Promise putSubscriptionFilterAsync(array $args = [])
* @method \Aws\Result tagLogGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagLogGroupAsync(array $args = [])
* @method \Aws\Result testMetricFilter(array $args = [])
* @method \GuzzleHttp\Promise\Promise testMetricFilterAsync(array $args = [])
* @method \Aws\Result untagLogGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagLogGroupAsync(array $args = [])
*/
class CloudWatchLogsClient extends AwsClient {}

View File

@@ -0,0 +1,41 @@
<?php
namespace Aws\CodeBuild;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS CodeBuild** service.
* @method \Aws\Result batchDeleteBuilds(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDeleteBuildsAsync(array $args = [])
* @method \Aws\Result batchGetBuilds(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetBuildsAsync(array $args = [])
* @method \Aws\Result batchGetProjects(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetProjectsAsync(array $args = [])
* @method \Aws\Result createProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = [])
* @method \Aws\Result createWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise createWebhookAsync(array $args = [])
* @method \Aws\Result deleteProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = [])
* @method \Aws\Result deleteWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteWebhookAsync(array $args = [])
* @method \Aws\Result invalidateProjectCache(array $args = [])
* @method \GuzzleHttp\Promise\Promise invalidateProjectCacheAsync(array $args = [])
* @method \Aws\Result listBuilds(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBuildsAsync(array $args = [])
* @method \Aws\Result listBuildsForProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBuildsForProjectAsync(array $args = [])
* @method \Aws\Result listCuratedEnvironmentImages(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCuratedEnvironmentImagesAsync(array $args = [])
* @method \Aws\Result listProjects(array $args = [])
* @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = [])
* @method \Aws\Result startBuild(array $args = [])
* @method \GuzzleHttp\Promise\Promise startBuildAsync(array $args = [])
* @method \Aws\Result stopBuild(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopBuildAsync(array $args = [])
* @method \Aws\Result updateProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = [])
* @method \Aws\Result updateWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateWebhookAsync(array $args = [])
*/
class CodeBuildClient extends AwsClient {}

View File

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

View File

@@ -10,28 +10,70 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise batchGetRepositoriesAsync(array $args = [])
* @method \Aws\Result createBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBranchAsync(array $args = [])
* @method \Aws\Result createPullRequest(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPullRequestAsync(array $args = [])
* @method \Aws\Result createRepository(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRepositoryAsync(array $args = [])
* @method \Aws\Result deleteBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBranchAsync(array $args = [])
* @method \Aws\Result deleteCommentContent(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCommentContentAsync(array $args = [])
* @method \Aws\Result deleteRepository(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRepositoryAsync(array $args = [])
* @method \Aws\Result describePullRequestEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePullRequestEventsAsync(array $args = [])
* @method \Aws\Result getBlob(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBlobAsync(array $args = [])
* @method \Aws\Result getBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBranchAsync(array $args = [])
* @method \Aws\Result getComment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCommentAsync(array $args = [])
* @method \Aws\Result getCommentsForComparedCommit(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCommentsForComparedCommitAsync(array $args = [])
* @method \Aws\Result getCommentsForPullRequest(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCommentsForPullRequestAsync(array $args = [])
* @method \Aws\Result getCommit(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCommitAsync(array $args = [])
* @method \Aws\Result getDifferences(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDifferencesAsync(array $args = [])
* @method \Aws\Result getMergeConflicts(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMergeConflictsAsync(array $args = [])
* @method \Aws\Result getPullRequest(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPullRequestAsync(array $args = [])
* @method \Aws\Result getRepository(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRepositoryAsync(array $args = [])
* @method \Aws\Result getRepositoryTriggers(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRepositoryTriggersAsync(array $args = [])
* @method \Aws\Result listBranches(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBranchesAsync(array $args = [])
* @method \Aws\Result listPullRequests(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPullRequestsAsync(array $args = [])
* @method \Aws\Result listRepositories(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRepositoriesAsync(array $args = [])
* @method \Aws\Result mergePullRequestByFastForward(array $args = [])
* @method \GuzzleHttp\Promise\Promise mergePullRequestByFastForwardAsync(array $args = [])
* @method \Aws\Result postCommentForComparedCommit(array $args = [])
* @method \GuzzleHttp\Promise\Promise postCommentForComparedCommitAsync(array $args = [])
* @method \Aws\Result postCommentForPullRequest(array $args = [])
* @method \GuzzleHttp\Promise\Promise postCommentForPullRequestAsync(array $args = [])
* @method \Aws\Result postCommentReply(array $args = [])
* @method \GuzzleHttp\Promise\Promise postCommentReplyAsync(array $args = [])
* @method \Aws\Result putFile(array $args = [])
* @method \GuzzleHttp\Promise\Promise putFileAsync(array $args = [])
* @method \Aws\Result putRepositoryTriggers(array $args = [])
* @method \GuzzleHttp\Promise\Promise putRepositoryTriggersAsync(array $args = [])
* @method \Aws\Result testRepositoryTriggers(array $args = [])
* @method \GuzzleHttp\Promise\Promise testRepositoryTriggersAsync(array $args = [])
* @method \Aws\Result updateComment(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateCommentAsync(array $args = [])
* @method \Aws\Result updateDefaultBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDefaultBranchAsync(array $args = [])
* @method \Aws\Result updatePullRequestDescription(array $args = [])
* @method \GuzzleHttp\Promise\Promise updatePullRequestDescriptionAsync(array $args = [])
* @method \Aws\Result updatePullRequestStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise updatePullRequestStatusAsync(array $args = [])
* @method \Aws\Result updatePullRequestTitle(array $args = [])
* @method \GuzzleHttp\Promise\Promise updatePullRequestTitleAsync(array $args = [])
* @method \Aws\Result updateRepositoryDescription(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRepositoryDescriptionAsync(array $args = [])
* @method \Aws\Result updateRepositoryName(array $args = [])

View File

@@ -20,6 +20,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise batchGetDeploymentsAsync(array $args = [])
* @method \Aws\Result batchGetOnPremisesInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetOnPremisesInstancesAsync(array $args = [])
* @method \Aws\Result continueDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise continueDeploymentAsync(array $args = [])
* @method \Aws\Result createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createDeployment(array $args = [])
@@ -34,6 +36,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteDeploymentConfigAsync(array $args = [])
* @method \Aws\Result deleteDeploymentGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeploymentGroupAsync(array $args = [])
* @method \Aws\Result deleteGitHubAccountToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGitHubAccountTokenAsync(array $args = [])
* @method \Aws\Result deregisterOnPremisesInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterOnPremisesInstanceAsync(array $args = [])
* @method \Aws\Result getApplication(array $args = [])
@@ -62,14 +66,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listDeploymentInstancesAsync(array $args = [])
* @method \Aws\Result listDeployments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDeploymentsAsync(array $args = [])
* @method \Aws\Result listGitHubAccountTokenNames(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGitHubAccountTokenNamesAsync(array $args = [])
* @method \Aws\Result listOnPremisesInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOnPremisesInstancesAsync(array $args = [])
* @method \Aws\Result putLifecycleEventHookExecutionStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise putLifecycleEventHookExecutionStatusAsync(array $args = [])
* @method \Aws\Result registerApplicationRevision(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerApplicationRevisionAsync(array $args = [])
* @method \Aws\Result registerOnPremisesInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerOnPremisesInstanceAsync(array $args = [])
* @method \Aws\Result removeTagsFromOnPremisesInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeTagsFromOnPremisesInstancesAsync(array $args = [])
* @method \Aws\Result skipWaitTimeForInstanceTermination(array $args = [])
* @method \GuzzleHttp\Promise\Promise skipWaitTimeForInstanceTerminationAsync(array $args = [])
* @method \Aws\Result stopDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopDeploymentAsync(array $args = [])
* @method \Aws\Result updateApplication(array $args = [])

View File

@@ -18,6 +18,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteCustomActionTypeAsync(array $args = [])
* @method \Aws\Result deletePipeline(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePipelineAsync(array $args = [])
* @method \Aws\Result deleteWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteWebhookAsync(array $args = [])
* @method \Aws\Result deregisterWebhookWithThirdParty(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterWebhookWithThirdPartyAsync(array $args = [])
* @method \Aws\Result disableStageTransition(array $args = [])
* @method \GuzzleHttp\Promise\Promise disableStageTransitionAsync(array $args = [])
* @method \Aws\Result enableStageTransition(array $args = [])
@@ -34,8 +38,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getThirdPartyJobDetailsAsync(array $args = [])
* @method \Aws\Result listActionTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listActionTypesAsync(array $args = [])
* @method \Aws\Result listPipelineExecutions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPipelineExecutionsAsync(array $args = [])
* @method \Aws\Result listPipelines(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPipelinesAsync(array $args = [])
* @method \Aws\Result listWebhooks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listWebhooksAsync(array $args = [])
* @method \Aws\Result pollForJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise pollForJobsAsync(array $args = [])
* @method \Aws\Result pollForThirdPartyJobs(array $args = [])
@@ -52,6 +60,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise putThirdPartyJobFailureResultAsync(array $args = [])
* @method \Aws\Result putThirdPartyJobSuccessResult(array $args = [])
* @method \GuzzleHttp\Promise\Promise putThirdPartyJobSuccessResultAsync(array $args = [])
* @method \Aws\Result putWebhook(array $args = [])
* @method \GuzzleHttp\Promise\Promise putWebhookAsync(array $args = [])
* @method \Aws\Result registerWebhookWithThirdParty(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerWebhookWithThirdPartyAsync(array $args = [])
* @method \Aws\Result retryStageExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise retryStageExecutionAsync(array $args = [])
* @method \Aws\Result startPipelineExecution(array $args = [])

View File

@@ -0,0 +1,45 @@
<?php
namespace Aws\CodeStar;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS CodeStar** service.
* @method \Aws\Result associateTeamMember(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateTeamMemberAsync(array $args = [])
* @method \Aws\Result createProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = [])
* @method \Aws\Result createUserProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUserProfileAsync(array $args = [])
* @method \Aws\Result deleteProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = [])
* @method \Aws\Result deleteUserProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUserProfileAsync(array $args = [])
* @method \Aws\Result describeProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeProjectAsync(array $args = [])
* @method \Aws\Result describeUserProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserProfileAsync(array $args = [])
* @method \Aws\Result disassociateTeamMember(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateTeamMemberAsync(array $args = [])
* @method \Aws\Result listProjects(array $args = [])
* @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = [])
* @method \Aws\Result listResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listResourcesAsync(array $args = [])
* @method \Aws\Result listTagsForProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForProjectAsync(array $args = [])
* @method \Aws\Result listTeamMembers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTeamMembersAsync(array $args = [])
* @method \Aws\Result listUserProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listUserProfilesAsync(array $args = [])
* @method \Aws\Result tagProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagProjectAsync(array $args = [])
* @method \Aws\Result untagProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagProjectAsync(array $args = [])
* @method \Aws\Result updateProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = [])
* @method \Aws\Result updateTeamMember(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTeamMemberAsync(array $args = [])
* @method \Aws\Result updateUserProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserProfileAsync(array $args = [])
*/
class CodeStarClient extends AwsClient {}

View File

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

View File

@@ -8,6 +8,8 @@ use Aws\AwsClient;
*
* @method \Aws\Result addCustomAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise addCustomAttributesAsync(array $args = [])
* @method \Aws\Result adminAddUserToGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminAddUserToGroupAsync(array $args = [])
* @method \Aws\Result adminConfirmSignUp(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminConfirmSignUpAsync(array $args = [])
* @method \Aws\Result adminCreateUser(array $args = [])
@@ -16,6 +18,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise adminDeleteUserAsync(array $args = [])
* @method \Aws\Result adminDeleteUserAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminDeleteUserAttributesAsync(array $args = [])
* @method \Aws\Result adminDisableProviderForUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminDisableProviderForUserAsync(array $args = [])
* @method \Aws\Result adminDisableUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminDisableUserAsync(array $args = [])
* @method \Aws\Result adminEnableUser(array $args = [])
@@ -28,20 +32,34 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise adminGetUserAsync(array $args = [])
* @method \Aws\Result adminInitiateAuth(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminInitiateAuthAsync(array $args = [])
* @method \Aws\Result adminLinkProviderForUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminLinkProviderForUserAsync(array $args = [])
* @method \Aws\Result adminListDevices(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminListDevicesAsync(array $args = [])
* @method \Aws\Result adminListGroupsForUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminListGroupsForUserAsync(array $args = [])
* @method \Aws\Result adminListUserAuthEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminListUserAuthEventsAsync(array $args = [])
* @method \Aws\Result adminRemoveUserFromGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminRemoveUserFromGroupAsync(array $args = [])
* @method \Aws\Result adminResetUserPassword(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminResetUserPasswordAsync(array $args = [])
* @method \Aws\Result adminRespondToAuthChallenge(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminRespondToAuthChallengeAsync(array $args = [])
* @method \Aws\Result adminSetUserMFAPreference(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminSetUserMFAPreferenceAsync(array $args = [])
* @method \Aws\Result adminSetUserSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminSetUserSettingsAsync(array $args = [])
* @method \Aws\Result adminUpdateAuthEventFeedback(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminUpdateAuthEventFeedbackAsync(array $args = [])
* @method \Aws\Result adminUpdateDeviceStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminUpdateDeviceStatusAsync(array $args = [])
* @method \Aws\Result adminUpdateUserAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminUpdateUserAttributesAsync(array $args = [])
* @method \Aws\Result adminUserGlobalSignOut(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminUserGlobalSignOutAsync(array $args = [])
* @method \Aws\Result associateSoftwareToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateSoftwareTokenAsync(array $args = [])
* @method \Aws\Result changePassword(array $args = [])
* @method \GuzzleHttp\Promise\Promise changePasswordAsync(array $args = [])
* @method \Aws\Result confirmDevice(array $args = [])
@@ -50,12 +68,26 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise confirmForgotPasswordAsync(array $args = [])
* @method \Aws\Result confirmSignUp(array $args = [])
* @method \GuzzleHttp\Promise\Promise confirmSignUpAsync(array $args = [])
* @method \Aws\Result createGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = [])
* @method \Aws\Result createIdentityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIdentityProviderAsync(array $args = [])
* @method \Aws\Result createResourceServer(array $args = [])
* @method \GuzzleHttp\Promise\Promise createResourceServerAsync(array $args = [])
* @method \Aws\Result createUserImportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUserImportJobAsync(array $args = [])
* @method \Aws\Result createUserPool(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUserPoolAsync(array $args = [])
* @method \Aws\Result createUserPoolClient(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUserPoolClientAsync(array $args = [])
* @method \Aws\Result createUserPoolDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUserPoolDomainAsync(array $args = [])
* @method \Aws\Result deleteGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = [])
* @method \Aws\Result deleteIdentityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIdentityProviderAsync(array $args = [])
* @method \Aws\Result deleteResourceServer(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteResourceServerAsync(array $args = [])
* @method \Aws\Result deleteUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = [])
* @method \Aws\Result deleteUserAttributes(array $args = [])
@@ -64,12 +96,22 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteUserPoolAsync(array $args = [])
* @method \Aws\Result deleteUserPoolClient(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUserPoolClientAsync(array $args = [])
* @method \Aws\Result deleteUserPoolDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUserPoolDomainAsync(array $args = [])
* @method \Aws\Result describeIdentityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeIdentityProviderAsync(array $args = [])
* @method \Aws\Result describeResourceServer(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeResourceServerAsync(array $args = [])
* @method \Aws\Result describeRiskConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeRiskConfigurationAsync(array $args = [])
* @method \Aws\Result describeUserImportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserImportJobAsync(array $args = [])
* @method \Aws\Result describeUserPool(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserPoolAsync(array $args = [])
* @method \Aws\Result describeUserPoolClient(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserPoolClientAsync(array $args = [])
* @method \Aws\Result describeUserPoolDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserPoolDomainAsync(array $args = [])
* @method \Aws\Result forgetDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise forgetDeviceAsync(array $args = [])
* @method \Aws\Result forgotPassword(array $args = [])
@@ -78,16 +120,32 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getCSVHeaderAsync(array $args = [])
* @method \Aws\Result getDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = [])
* @method \Aws\Result getGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGroupAsync(array $args = [])
* @method \Aws\Result getIdentityProviderByIdentifier(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIdentityProviderByIdentifierAsync(array $args = [])
* @method \Aws\Result getSigningCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSigningCertificateAsync(array $args = [])
* @method \Aws\Result getUICustomization(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUICustomizationAsync(array $args = [])
* @method \Aws\Result getUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUserAsync(array $args = [])
* @method \Aws\Result getUserAttributeVerificationCode(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUserAttributeVerificationCodeAsync(array $args = [])
* @method \Aws\Result getUserPoolMfaConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUserPoolMfaConfigAsync(array $args = [])
* @method \Aws\Result globalSignOut(array $args = [])
* @method \GuzzleHttp\Promise\Promise globalSignOutAsync(array $args = [])
* @method \Aws\Result initiateAuth(array $args = [])
* @method \GuzzleHttp\Promise\Promise initiateAuthAsync(array $args = [])
* @method \Aws\Result listDevices(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDevicesAsync(array $args = [])
* @method \Aws\Result listGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGroupsAsync(array $args = [])
* @method \Aws\Result listIdentityProviders(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIdentityProvidersAsync(array $args = [])
* @method \Aws\Result listResourceServers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listResourceServersAsync(array $args = [])
* @method \Aws\Result listUserImportJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listUserImportJobsAsync(array $args = [])
* @method \Aws\Result listUserPoolClients(array $args = [])
@@ -96,10 +154,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listUserPoolsAsync(array $args = [])
* @method \Aws\Result listUsers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = [])
* @method \Aws\Result listUsersInGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise listUsersInGroupAsync(array $args = [])
* @method \Aws\Result resendConfirmationCode(array $args = [])
* @method \GuzzleHttp\Promise\Promise resendConfirmationCodeAsync(array $args = [])
* @method \Aws\Result respondToAuthChallenge(array $args = [])
* @method \GuzzleHttp\Promise\Promise respondToAuthChallengeAsync(array $args = [])
* @method \Aws\Result setRiskConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise setRiskConfigurationAsync(array $args = [])
* @method \Aws\Result setUICustomization(array $args = [])
* @method \GuzzleHttp\Promise\Promise setUICustomizationAsync(array $args = [])
* @method \Aws\Result setUserMFAPreference(array $args = [])
* @method \GuzzleHttp\Promise\Promise setUserMFAPreferenceAsync(array $args = [])
* @method \Aws\Result setUserPoolMfaConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise setUserPoolMfaConfigAsync(array $args = [])
* @method \Aws\Result setUserSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise setUserSettingsAsync(array $args = [])
* @method \Aws\Result signUp(array $args = [])
@@ -108,14 +176,24 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise startUserImportJobAsync(array $args = [])
* @method \Aws\Result stopUserImportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopUserImportJobAsync(array $args = [])
* @method \Aws\Result updateAuthEventFeedback(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAuthEventFeedbackAsync(array $args = [])
* @method \Aws\Result updateDeviceStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDeviceStatusAsync(array $args = [])
* @method \Aws\Result updateGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGroupAsync(array $args = [])
* @method \Aws\Result updateIdentityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateIdentityProviderAsync(array $args = [])
* @method \Aws\Result updateResourceServer(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateResourceServerAsync(array $args = [])
* @method \Aws\Result updateUserAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserAttributesAsync(array $args = [])
* @method \Aws\Result updateUserPool(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserPoolAsync(array $args = [])
* @method \Aws\Result updateUserPoolClient(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserPoolClientAsync(array $args = [])
* @method \Aws\Result verifySoftwareToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise verifySoftwareTokenAsync(array $args = [])
* @method \Aws\Result verifyUserAttribute(array $args = [])
* @method \GuzzleHttp\Promise\Promise verifyUserAttributeAsync(array $args = [])
*/

View File

@@ -34,6 +34,8 @@ class CommandPool implements PromisorInterface
* The function is provided an AwsException object, id of the iterator that
* the exception came from, and the aggregate promise that can be
* resolved/rejected if you need to short-circuit the pool.
* - preserve_iterator_keys: (bool) Retain the iterator key when generating
* the commands.
*
* @param AwsClientInterface $client Client used to execute commands.
* @param array|\Iterator $commands Iterable that yields commands.
@@ -49,7 +51,7 @@ class CommandPool implements PromisorInterface
}
$before = $this->getBefore($config);
$mapFn = function ($commands) use ($client, $before) {
$mapFn = function ($commands) use ($client, $before, $config) {
foreach ($commands as $key => $command) {
if (!($command instanceof CommandInterface)) {
throw new \InvalidArgumentException('Each value yielded by '
@@ -58,7 +60,11 @@ class CommandPool implements PromisorInterface
if ($before) {
$before($command, $key);
}
yield $client->executeAsync($command);
if (!empty($config['preserve_iterator_keys'])) {
yield $key => $client->executeAsync($command);
} else {
yield $client->executeAsync($command);
}
}
};

View File

@@ -0,0 +1,67 @@
<?php
namespace Aws\Comprehend;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon Comprehend** service.
* @method \Aws\Result batchDetectDominantLanguage(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDetectDominantLanguageAsync(array $args = [])
* @method \Aws\Result batchDetectEntities(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDetectEntitiesAsync(array $args = [])
* @method \Aws\Result batchDetectKeyPhrases(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDetectKeyPhrasesAsync(array $args = [])
* @method \Aws\Result batchDetectSentiment(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDetectSentimentAsync(array $args = [])
* @method \Aws\Result batchDetectSyntax(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDetectSyntaxAsync(array $args = [])
* @method \Aws\Result describeDominantLanguageDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDominantLanguageDetectionJobAsync(array $args = [])
* @method \Aws\Result describeEntitiesDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEntitiesDetectionJobAsync(array $args = [])
* @method \Aws\Result describeKeyPhrasesDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeKeyPhrasesDetectionJobAsync(array $args = [])
* @method \Aws\Result describeSentimentDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSentimentDetectionJobAsync(array $args = [])
* @method \Aws\Result describeTopicsDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTopicsDetectionJobAsync(array $args = [])
* @method \Aws\Result detectDominantLanguage(array $args = [])
* @method \GuzzleHttp\Promise\Promise detectDominantLanguageAsync(array $args = [])
* @method \Aws\Result detectEntities(array $args = [])
* @method \GuzzleHttp\Promise\Promise detectEntitiesAsync(array $args = [])
* @method \Aws\Result detectKeyPhrases(array $args = [])
* @method \GuzzleHttp\Promise\Promise detectKeyPhrasesAsync(array $args = [])
* @method \Aws\Result detectSentiment(array $args = [])
* @method \GuzzleHttp\Promise\Promise detectSentimentAsync(array $args = [])
* @method \Aws\Result detectSyntax(array $args = [])
* @method \GuzzleHttp\Promise\Promise detectSyntaxAsync(array $args = [])
* @method \Aws\Result listDominantLanguageDetectionJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDominantLanguageDetectionJobsAsync(array $args = [])
* @method \Aws\Result listEntitiesDetectionJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEntitiesDetectionJobsAsync(array $args = [])
* @method \Aws\Result listKeyPhrasesDetectionJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listKeyPhrasesDetectionJobsAsync(array $args = [])
* @method \Aws\Result listSentimentDetectionJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSentimentDetectionJobsAsync(array $args = [])
* @method \Aws\Result listTopicsDetectionJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTopicsDetectionJobsAsync(array $args = [])
* @method \Aws\Result startDominantLanguageDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDominantLanguageDetectionJobAsync(array $args = [])
* @method \Aws\Result startEntitiesDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startEntitiesDetectionJobAsync(array $args = [])
* @method \Aws\Result startKeyPhrasesDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startKeyPhrasesDetectionJobAsync(array $args = [])
* @method \Aws\Result startSentimentDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startSentimentDetectionJobAsync(array $args = [])
* @method \Aws\Result startTopicsDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startTopicsDetectionJobAsync(array $args = [])
* @method \Aws\Result stopDominantLanguageDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopDominantLanguageDetectionJobAsync(array $args = [])
* @method \Aws\Result stopEntitiesDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopEntitiesDetectionJobAsync(array $args = [])
* @method \Aws\Result stopKeyPhrasesDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopKeyPhrasesDetectionJobAsync(array $args = [])
* @method \Aws\Result stopSentimentDetectionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopSentimentDetectionJobAsync(array $args = [])
*/
class ComprehendClient extends AwsClient {}

View File

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

View File

@@ -6,16 +6,30 @@ use Aws\AwsClient;
/**
* This client is used to interact with AWS Config.
*
* @method \Aws\Result batchGetResourceConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetResourceConfigAsync(array $args = [])
* @method \Aws\Result deleteAggregationAuthorization(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAggregationAuthorizationAsync(array $args = [])
* @method \Aws\Result deleteConfigRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConfigRuleAsync(array $args = [])
* @method \Aws\Result deleteConfigurationAggregator(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConfigurationAggregatorAsync(array $args = [])
* @method \Aws\Result deleteConfigurationRecorder(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConfigurationRecorderAsync(array $args = [])
* @method \Aws\Result deleteDeliveryChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeliveryChannelAsync(array $args = [])
* @method \Aws\Result deleteEvaluationResults(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEvaluationResultsAsync(array $args = [])
* @method \Aws\Result deletePendingAggregationRequest(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePendingAggregationRequestAsync(array $args = [])
* @method \Aws\Result deleteRetentionConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRetentionConfigurationAsync(array $args = [])
* @method \Aws\Result deliverConfigSnapshot(array $args = [])
* @method \GuzzleHttp\Promise\Promise deliverConfigSnapshotAsync(array $args = [])
* @method \Aws\Result describeAggregateComplianceByConfigRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAggregateComplianceByConfigRulesAsync(array $args = [])
* @method \Aws\Result describeAggregationAuthorizations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAggregationAuthorizationsAsync(array $args = [])
* @method \Aws\Result describeComplianceByConfigRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeComplianceByConfigRuleAsync(array $args = [])
* @method \Aws\Result describeComplianceByResource(array $args = [])
@@ -24,6 +38,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeConfigRuleEvaluationStatusAsync(array $args = [])
* @method \Aws\Result describeConfigRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConfigRulesAsync(array $args = [])
* @method \Aws\Result describeConfigurationAggregatorSourcesStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConfigurationAggregatorSourcesStatusAsync(array $args = [])
* @method \Aws\Result describeConfigurationAggregators(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConfigurationAggregatorsAsync(array $args = [])
* @method \Aws\Result describeConfigurationRecorderStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConfigurationRecorderStatusAsync(array $args = [])
* @method \Aws\Result describeConfigurationRecorders(array $args = [])
@@ -32,6 +50,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeDeliveryChannelStatusAsync(array $args = [])
* @method \Aws\Result describeDeliveryChannels(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDeliveryChannelsAsync(array $args = [])
* @method \Aws\Result describePendingAggregationRequests(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePendingAggregationRequestsAsync(array $args = [])
* @method \Aws\Result describeRetentionConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeRetentionConfigurationsAsync(array $args = [])
* @method \Aws\Result getAggregateComplianceDetailsByConfigRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAggregateComplianceDetailsByConfigRuleAsync(array $args = [])
* @method \Aws\Result getAggregateConfigRuleComplianceSummary(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAggregateConfigRuleComplianceSummaryAsync(array $args = [])
* @method \Aws\Result getComplianceDetailsByConfigRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise getComplianceDetailsByConfigRuleAsync(array $args = [])
* @method \Aws\Result getComplianceDetailsByResource(array $args = [])
@@ -40,18 +66,26 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getComplianceSummaryByConfigRuleAsync(array $args = [])
* @method \Aws\Result getComplianceSummaryByResourceType(array $args = [])
* @method \GuzzleHttp\Promise\Promise getComplianceSummaryByResourceTypeAsync(array $args = [])
* @method \Aws\Result getDiscoveredResourceCounts(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDiscoveredResourceCountsAsync(array $args = [])
* @method \Aws\Result getResourceConfigHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getResourceConfigHistoryAsync(array $args = [])
* @method \Aws\Result listDiscoveredResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDiscoveredResourcesAsync(array $args = [])
* @method \Aws\Result putAggregationAuthorization(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAggregationAuthorizationAsync(array $args = [])
* @method \Aws\Result putConfigRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise putConfigRuleAsync(array $args = [])
* @method \Aws\Result putConfigurationAggregator(array $args = [])
* @method \GuzzleHttp\Promise\Promise putConfigurationAggregatorAsync(array $args = [])
* @method \Aws\Result putConfigurationRecorder(array $args = [])
* @method \GuzzleHttp\Promise\Promise putConfigurationRecorderAsync(array $args = [])
* @method \Aws\Result putDeliveryChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise putDeliveryChannelAsync(array $args = [])
* @method \Aws\Result putEvaluations(array $args = [])
* @method \GuzzleHttp\Promise\Promise putEvaluationsAsync(array $args = [])
* @method \Aws\Result putRetentionConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putRetentionConfigurationAsync(array $args = [])
* @method \Aws\Result startConfigRulesEvaluation(array $args = [])
* @method \GuzzleHttp\Promise\Promise startConfigRulesEvaluationAsync(array $args = [])
* @method \Aws\Result startConfigurationRecorder(array $args = [])

View File

@@ -0,0 +1,43 @@
<?php
namespace Aws\Connect;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon Connect Service** service.
* @method \Aws\Result createUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = [])
* @method \Aws\Result deleteUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = [])
* @method \Aws\Result describeUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = [])
* @method \Aws\Result describeUserHierarchyGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserHierarchyGroupAsync(array $args = [])
* @method \Aws\Result describeUserHierarchyStructure(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserHierarchyStructureAsync(array $args = [])
* @method \Aws\Result getFederationToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise getFederationTokenAsync(array $args = [])
* @method \Aws\Result listRoutingProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRoutingProfilesAsync(array $args = [])
* @method \Aws\Result listSecurityProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSecurityProfilesAsync(array $args = [])
* @method \Aws\Result listUserHierarchyGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listUserHierarchyGroupsAsync(array $args = [])
* @method \Aws\Result listUsers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = [])
* @method \Aws\Result startOutboundVoiceContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise startOutboundVoiceContactAsync(array $args = [])
* @method \Aws\Result stopContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopContactAsync(array $args = [])
* @method \Aws\Result updateUserHierarchy(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserHierarchyAsync(array $args = [])
* @method \Aws\Result updateUserIdentityInfo(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserIdentityInfoAsync(array $args = [])
* @method \Aws\Result updateUserPhoneConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserPhoneConfigAsync(array $args = [])
* @method \Aws\Result updateUserRoutingProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserRoutingProfileAsync(array $args = [])
* @method \Aws\Result updateUserSecurityProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserSecurityProfilesAsync(array $args = [])
*/
class ConnectClient extends AwsClient {}

View File

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

View File

@@ -0,0 +1,21 @@
<?php
namespace Aws\CostExplorer;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Cost Explorer Service** service.
* @method \Aws\Result getCostAndUsage(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCostAndUsageAsync(array $args = [])
* @method \Aws\Result getDimensionValues(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDimensionValuesAsync(array $args = [])
* @method \Aws\Result getReservationCoverage(array $args = [])
* @method \GuzzleHttp\Promise\Promise getReservationCoverageAsync(array $args = [])
* @method \Aws\Result getReservationPurchaseRecommendation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getReservationPurchaseRecommendationAsync(array $args = [])
* @method \Aws\Result getReservationUtilization(array $args = [])
* @method \GuzzleHttp\Promise\Promise getReservationUtilizationAsync(array $args = [])
* @method \Aws\Result getTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTagsAsync(array $args = [])
*/
class CostExplorerClient extends AwsClient {}

View File

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

View File

@@ -0,0 +1,15 @@
<?php
namespace Aws\CostandUsageReportService;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Cost and Usage Report Service** service.
* @method \Aws\Result deleteReportDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteReportDefinitionAsync(array $args = [])
* @method \Aws\Result describeReportDefinitions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReportDefinitionsAsync(array $args = [])
* @method \Aws\Result putReportDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise putReportDefinitionAsync(array $args = [])
*/
class CostandUsageReportServiceClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\CostandUsageReportService\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Cost and Usage Report Service** service.
*/
class CostandUsageReportServiceException extends AwsException {}

View File

@@ -0,0 +1,64 @@
<?php
namespace Aws\Credentials;
use Aws\Exception\CredentialsException;
use Aws\Result;
use Aws\Sts\StsClient;
use GuzzleHttp\Promise\PromiseInterface;
/**
* Credential provider that provides credentials via assuming a role
* More Information, see: http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sts-2011-06-15.html#assumerole
*/
class AssumeRoleCredentialProvider
{
const ERROR_MSG = "Missing required 'AssumeRoleCredentialProvider' configuration option: ";
/** @var StsClient */
private $client;
/** @var array */
private $assumeRoleParams;
/**
* The constructor requires following configure parameters:
* - client: a StsClient
* - assume_role_params: Parameters used to make assumeRole call
*
* @param array $config Configuration options
* @throws \InvalidArgumentException
*/
public function __construct(array $config = [])
{
if (!isset($config['assume_role_params'])) {
throw new \InvalidArgumentException(self::ERROR_MSG . "'assume_role_params'.");
}
if (!isset($config['client'])) {
throw new \InvalidArgumentException(self::ERROR_MSG . "'client'.");
}
$this->client = $config['client'];
$this->assumeRoleParams = $config['assume_role_params'];
}
/**
* Loads assume role credentials.
*
* @return PromiseInterface
*/
public function __invoke()
{
$client = $this->client;
return $client->assumeRoleAsync($this->assumeRoleParams)
->then(function (Result $result) {
return $this->client->createCredentials($result);
})->otherwise(function (\RuntimeException $exception) {
throw new CredentialsException(
"Error in retrieving assume role credentials.",
0,
$exception
);
});
}
}

View File

@@ -50,37 +50,28 @@ class CredentialProvider
/**
* Create a default credential provider that first checks for environment
* variables, then checks for the "default" profile in ~/.aws/credentials,
* then tries to make GET Request to fetch credentials if Ecs environment
* variable is presented, and finally checks for EC2 instance profile
* credentials.
* then checks for "profile default" profile in ~/.aws/config (which is
* the default profile of AWS CLI), then tries to make a GET Request to
* fetch credentials if Ecs environment variable is presented, and finally
* checks for EC2 instance profile credentials.
*
* This provider is automatically wrapped in a memoize function that caches
* previously provided credentials.
*
* @param array $config Optional array of instance profile credentials
* @param array $config Optional array of ecs/instance profile credentials
* provider options.
*
* @return callable
*/
public static function defaultProvider(array $config = [])
{
$instanceProfileProvider = self::instanceProfile($config);
$ecsCredentialProvider = self::ecsCredentials($config);
if (isset($config['credentials'])
&& $config['credentials'] instanceof CacheInterface
) {
$instanceProfileProvider = self::cache(
$instanceProfileProvider,
$config['credentials']
);
}
$localCredentialProviders = self::localCredentialProviders();
$remoteCredentialProviders = self::remoteCredentialProviders($config);
return self::memoize(
self::chain(
self::env(),
self::ini(),
$ecsCredentialProvider,
$instanceProfileProvider
call_user_func_array(
'self::chain',
array_merge($localCredentialProviders, $remoteCredentialProviders)
)
);
}
@@ -179,7 +170,7 @@ class CredentialProvider
* Defaults to using a simple file-based cache when none provided.
*
* @param callable $provider Credentials provider function to wrap
* @param CacheInterface $cache (optional) Cache to store credentials
* @param CacheInterface $cache Cache to store credentials
* @param string|null $cacheKey (optional) Cache key to use
*
* @return callable
@@ -228,7 +219,7 @@ class CredentialProvider
$secret = getenv(self::ENV_SECRET);
if ($key && $secret) {
return Promise\promise_for(
new Credentials($key, $secret, getenv(self::ENV_SESSION))
new Credentials($key, $secret, getenv(self::ENV_SESSION) ?: NULL)
);
}
@@ -266,14 +257,26 @@ class CredentialProvider
return new EcsCredentialProvider($config);
}
/**
* Credential provider that creates credentials using assume role
*
* @param array $config Array of configuration data
* @return callable
* @see Aws\Credentials\AssumeRoleCredentialProvider for $config details.
*/
public static function assumeRole(array $config=[])
{
return new AssumeRoleCredentialProvider($config);
}
/**
* Credentials provider that creates credentials using an ini file stored
* in the current user's home directory.
*
* @param string|null $profile Profile to use. If not specified will use
* the "default" profile.
* the "default" profile in "~/.aws/credentials".
* @param string|null $filename If provided, uses a custom filename rather
* than looking in the home directory for the
* than looking in the home directory.
*
* @return callable
*/
@@ -317,6 +320,56 @@ class CredentialProvider
};
}
/**
* Local credential providers returns a list of local credential providers
* in following order:
* - credentials from environment variables
* - 'default' profile in '.aws/credentials' file
* - 'profile default' profile in '.aws/config' file
*
* @return array
*/
private static function localCredentialProviders()
{
return [
self::env(),
self::ini(),
self::ini('profile default', self::getHomeDir() . '/.aws/config')
];
}
/**
* Remote credential providers returns a list of credentials providers
* for the remote endpoints such as EC2 or ECS Roles.
*
* @param array $config Array of configuration data.
*
* @return array
* @see Aws\Credentials\InstanceProfileProvider for $config details.
* @see Aws\Credentials\EcsCredentialProvider for $config details.
*/
private static function remoteCredentialProviders(array $config = [])
{
if (!empty(getenv(EcsCredentialProvider::ENV_URI))) {
$providers['ecs'] = self::ecsCredentials($config);
}
$providers['instance'] = self::instanceProfile($config);
if (isset($config['credentials'])
&& $config['credentials'] instanceof CacheInterface
) {
foreach ($providers as $key => $provider) {
$providers[$key] = self::cache(
$provider,
$config['credentials'],
'aws_cached_' . $key . '_credentials'
);
}
}
return $providers;
}
/**
* Gets the environment's HOME directory if available.
*

View File

@@ -2,9 +2,7 @@
namespace Aws\Credentials;
use Aws\Exception\CredentialsException;
use GuzzleHttp\Promise;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Psr7\Uri;
use GuzzleHttp\Promise\PromiseInterface;
use Psr\Http\Message\ResponseInterface;
@@ -14,19 +12,24 @@ use Psr\Http\Message\ResponseInterface;
*/
class EcsCredentialProvider
{
const SERVER_URI = 'http://169.254.170.2/';
const SERVER_URI = 'http://169.254.170.2';
const ENV_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
/** @var callable */
private $client;
/**
* The constructor accepts following options:
* - timeout: (optional) Connection timeout, in seconds, default 1.0
* - client: An EcsClient to make request from
*
* @param array $config Configuration options
*/
public function __construct(array $config = [])
{
$this->timeout = isset($config['timeout']) ? $config['timeout'] : 1.0;
$this->client = isset($config['client'])
? $config['client'] // internal use only
? $config['client']
: \Aws\default_http_handler();
}
@@ -36,39 +39,16 @@ class EcsCredentialProvider
* @return PromiseInterface
*/
public function __invoke()
{
return $this->request($this->getEcsUri());
}
/**
* Fetch credential URI from ECS environment variable
*
* @return string Returns ECS URI
* @throws CredentialsException If the credential URI path cannot be found
*/
private function getEcsUri()
{
$creds_uri = getenv(self::ENV_URI);
if (!$creds_uri) {
throw new CredentialsException(
"Unable to find an ECS environment variable value for "
. self::ENV_URI
);
}
return $creds_uri;
}
/**
* @param string $url
* @return PromiseInterface Returns a promise that is fulfilled with the
* body of the response as a string.
*/
private function request($url)
{
$client = $this->client;
$request = new Request('GET', new Uri(self::SERVER_URI . $url));
return $client($request)->then(function (ResponseInterface $response) {
$request = new Request('GET', self::getEcsUri());
return $client(
$request,
[
'timeout' => $this->timeout,
'proxy' => '',
]
)->then(function (ResponseInterface $response) {
$result = $this->decodeResult((string) $response->getBody());
return new Credentials(
$result['AccessKeyId'],
@@ -77,6 +57,7 @@ class EcsCredentialProvider
strtotime($result['Expiration'])
);
})->otherwise(function ($reason) {
$reason = is_array($reason) ? $reason['exception'] : $reason;
$msg = $reason->getMessage();
throw new CredentialsException(
"Error retrieving credential from ECS ($msg)"
@@ -84,6 +65,17 @@ class EcsCredentialProvider
});
}
/**
* Fetch credential URI from ECS environment variable
*
* @return string Returns ECS URI
*/
private function getEcsUri()
{
$creds_uri = getenv(self::ENV_URI);
return self::SERVER_URI . $creds_uri;
}
private function decodeResult($response)
{
$result = json_decode($response, true);

View File

@@ -15,6 +15,8 @@ class InstanceProfileProvider
const SERVER_URI = 'http://169.254.169.254/latest/';
const CRED_PATH = 'meta-data/iam/security-credentials/';
const ENV_DISABLE = 'AWS_EC2_METADATA_DISABLED';
/** @var string */
private $profile;
@@ -67,6 +69,13 @@ class InstanceProfileProvider
*/
private function request($url)
{
$disabled = getenv(self::ENV_DISABLE) ?: false;
if (strcasecmp($disabled, 'true') === 0) {
throw new CredentialsException(
$this->createErrorMessage('EC2 metadata server access disabled')
);
}
$fn = $this->client;
$request = new Request('GET', self::SERVER_URI . $url);
@@ -77,7 +86,7 @@ class InstanceProfileProvider
$reason = $reason['exception'];
$msg = $reason->getMessage();
throw new CredentialsException(
$this->createErrorMessage($msg, 0, $reason)
$this->createErrorMessage($msg)
);
});
}

View File

@@ -0,0 +1,113 @@
<?php
namespace Aws\Crypto;
use Aws\Crypto\Cipher\CipherMethod;
use Aws\Crypto\Cipher\Cbc;
use GuzzleHttp\Psr7\Stream;
/**
* @internal
*/
abstract class AbstractCryptoClient
{
public static $supportedCiphers = ['cbc', 'gcm'];
/**
* Returns if the passed cipher name is supported for encryption by the SDK.
*
* @param string $cipherName The name of a cipher to verify is registered.
*
* @return bool If the cipher passed is in our supported list.
*/
public static function isSupportedCipher($cipherName)
{
return in_array($cipherName, self::$supportedCiphers);
}
/**
* Returns an identifier recognizable by `openssl_*` functions, such as
* `aes-256-cbc` or `aes-128-ctr`.
*
* @param string $cipherName Name of the cipher being used for encrypting
* or decrypting.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @return string
*/
abstract protected function getCipherOpenSslName($cipherName, $keySize);
/**
* Constructs a CipherMethod for the given name, initialized with the other
* data passed for use in encrypting or decrypting.
*
* @param string $cipherName Name of the cipher to generate for encrypting.
* @param string $iv Base Initialization Vector for the cipher.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @return CipherMethod
*
* @internal
*/
abstract protected function buildCipherMethod($cipherName, $iv, $keySize);
/**
* Performs a reverse lookup to get the openssl_* cipher name from the
* AESName passed in from the MetadataEnvelope.
*
* @param $aesName
*
* @return string
*
* @internal
*/
abstract protected function getCipherFromAesName($aesName);
/**
* Dependency to provide an interface for building an encryption stream for
* data given cipher details, metadata, and materials to do so.
*
* @param Stream $plaintext Plain-text data to be encrypted using the
* materials, algorithm, and data provided.
* @param array $cipherOptions Options for use in determining the cipher to
* be used for encrypting data.
* @param MaterialsProvider $provider A provider to supply and encrypt
* materials used in encryption.
* @param MetadataEnvelope $envelope A storage envelope for encryption
* metadata to be added to.
*
* @return AesStreamInterface
*
* @internal
*/
abstract public function encrypt(
Stream $plaintext,
array $cipherOptions,
MaterialsProvider $provider,
MetadataEnvelope $envelope
);
/**
* Dependency to provide an interface for building a decryption stream for
* cipher text given metadata and materials to do so.
*
* @param string $cipherText Plain-text data to be decrypted using the
* materials, algorithm, and data provided.
* @param MaterialsProvider $provider A provider to supply and encrypt
* materials used in encryption.
* @param MetadataEnvelope $envelope A storage envelope for encryption
* metadata to be read from.
* @param array $cipherOptions Additional verification options.
*
* @return AesStreamInterface
*
* @internal
*/
abstract public function decrypt(
$cipherText,
MaterialsProvider $provider,
MetadataEnvelope $envelope,
array $cipherOptions = []
);
}

View File

@@ -0,0 +1,144 @@
<?php
namespace Aws\Crypto;
use GuzzleHttp\Psr7\StreamDecoratorTrait;
use \LogicException;
use Psr\Http\Message\StreamInterface;
use Aws\Crypto\Cipher\CipherMethod;
/**
* @internal Represents a stream of data to be decrypted with passed cipher.
*/
class AesDecryptingStream implements AesStreamInterface
{
const BLOCK_SIZE = 16; // 128 bits
use StreamDecoratorTrait;
/**
* @var string
*/
private $buffer = '';
/**
* @var CipherMethod
*/
private $cipherMethod;
/**
* @var string
*/
private $key;
/**
* @var StreamInterface
*/
private $stream;
/**
* @param StreamInterface $cipherText
* @param string $key
* @param CipherMethod $cipherMethod
*/
public function __construct(
StreamInterface $cipherText,
$key,
CipherMethod $cipherMethod
) {
$this->stream = $cipherText;
$this->key = $key;
$this->cipherMethod = clone $cipherMethod;
}
public function getOpenSslName()
{
return $this->cipherMethod->getOpenSslName();
}
public function getAesName()
{
return $this->cipherMethod->getAesName();
}
public function getCurrentIv()
{
return $this->cipherMethod->getCurrentIv();
}
public function getSize()
{
$plainTextSize = $this->stream->getSize();
if ($this->cipherMethod->requiresPadding()) {
// PKCS7 padding requires that between 1 and self::BLOCK_SIZE be
// added to the plaintext to make it an even number of blocks. The
// plaintext is between strlen($cipherText) - self::BLOCK_SIZE and
// strlen($cipherText) - 1
return null;
}
return $plainTextSize;
}
public function isWritable()
{
return false;
}
public function read($length)
{
if ($length > strlen($this->buffer)) {
$this->buffer .= $this->decryptBlock(
self::BLOCK_SIZE * ceil(($length - strlen($this->buffer)) / self::BLOCK_SIZE)
);
}
$data = substr($this->buffer, 0, $length);
$this->buffer = substr($this->buffer, $length);
return $data ? $data : '';
}
public function seek($offset, $whence = SEEK_SET)
{
if ($offset === 0 && $whence === SEEK_SET) {
$this->buffer = '';
$this->cipherMethod->seek(0, SEEK_SET);
$this->stream->seek(0, SEEK_SET);
} else {
throw new LogicException('AES encryption streams only support being'
. ' rewound, not arbitrary seeking.');
}
}
private function decryptBlock($length)
{
if ($this->stream->eof()) {
return '';
}
$cipherText = '';
do {
$cipherText .= $this->stream->read($length - strlen($cipherText));
} while (strlen($cipherText) < $length && !$this->stream->eof());
$options = OPENSSL_RAW_DATA;
if (!$this->stream->eof()
&& $this->stream->getSize() !== $this->stream->tell()
) {
$options |= OPENSSL_ZERO_PADDING;
}
$plaintext = openssl_decrypt(
$cipherText,
$this->cipherMethod->getOpenSslName(),
$this->key,
$options,
$this->cipherMethod->getCurrentIv()
);
$this->cipherMethod->update($cipherText);
return $plaintext;
}
}

View File

@@ -0,0 +1,150 @@
<?php
namespace Aws\Crypto;
use GuzzleHttp\Psr7\StreamDecoratorTrait;
use \LogicException;
use Psr\Http\Message\StreamInterface;
use Aws\Crypto\Cipher\CipherMethod;
/**
* @internal Represents a stream of data to be encrypted with a passed cipher.
*/
class AesEncryptingStream implements AesStreamInterface
{
const BLOCK_SIZE = 16; // 128 bits
use StreamDecoratorTrait;
/**
* @var string
*/
private $buffer = '';
/**
* @var CipherMethod
*/
private $cipherMethod;
/**
* @var string
*/
private $key;
/**
* @var StreamInterface
*/
private $stream;
/**
* @param StreamInterface $plainText
* @param string $key
* @param CipherMethod $cipherMethod
*/
public function __construct(
StreamInterface $plainText,
$key,
CipherMethod $cipherMethod
) {
$this->stream = $plainText;
$this->key = $key;
$this->cipherMethod = clone $cipherMethod;
}
public function getOpenSslName()
{
return $this->cipherMethod->getOpenSslName();
}
public function getAesName()
{
return $this->cipherMethod->getAesName();
}
public function getCurrentIv()
{
return $this->cipherMethod->getCurrentIv();
}
public function getSize()
{
$plainTextSize = $this->stream->getSize();
if ($this->cipherMethod->requiresPadding() && $plainTextSize !== null) {
// PKCS7 padding requires that between 1 and self::BLOCK_SIZE be
// added to the plaintext to make it an even number of blocks.
$padding = self::BLOCK_SIZE - $plainTextSize % self::BLOCK_SIZE;
return $plainTextSize + $padding;
}
return $plainTextSize;
}
public function isWritable()
{
return false;
}
public function read($length)
{
if ($length > strlen($this->buffer)) {
$this->buffer .= $this->encryptBlock(
self::BLOCK_SIZE * ceil(($length - strlen($this->buffer)) / self::BLOCK_SIZE)
);
}
$data = substr($this->buffer, 0, $length);
$this->buffer = substr($this->buffer, $length);
return $data ? $data : '';
}
public function seek($offset, $whence = SEEK_SET)
{
if ($whence === SEEK_CUR) {
$offset = $this->tell() + $offset;
$whence = SEEK_SET;
}
if ($whence === SEEK_SET) {
$this->buffer = '';
$wholeBlockOffset
= (int) ($offset / self::BLOCK_SIZE) * self::BLOCK_SIZE;
$this->stream->seek($wholeBlockOffset);
$this->cipherMethod->seek($wholeBlockOffset);
$this->read($offset - $wholeBlockOffset);
} else {
throw new LogicException('Unrecognized whence.');
}
}
private function encryptBlock($length)
{
if ($this->stream->eof()) {
return '';
}
$plainText = '';
do {
$plainText .= $this->stream->read($length - strlen($plainText));
} while (strlen($plainText) < $length && !$this->stream->eof());
$options = OPENSSL_RAW_DATA;
if (!$this->stream->eof()
|| $this->stream->getSize() !== $this->stream->tell()
) {
$options |= OPENSSL_ZERO_PADDING;
}
$cipherText = openssl_encrypt(
$plainText,
$this->cipherMethod->getOpenSslName(),
$this->key,
$options,
$this->cipherMethod->getCurrentIv()
);
$this->cipherMethod->update($cipherText);
return $cipherText;
}
}

View File

@@ -0,0 +1,95 @@
<?php
namespace Aws\Crypto;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\StreamDecoratorTrait;
use Psr\Http\Message\StreamInterface;
use \RuntimeException;
/**
* @internal Represents a stream of data to be gcm decrypted.
*/
class AesGcmDecryptingStream implements AesStreamInterface
{
use StreamDecoratorTrait;
private $aad;
private $initializationVector;
private $key;
private $keySize;
private $cipherText;
private $tag;
private $tagLength;
/**
* @param StreamInterface $cipherText
* @param string $key
* @param string $initializationVector
* @param string $tag
* @param string $aad
* @param int $tagLength
* @param int $keySize
*/
public function __construct(
StreamInterface $cipherText,
$key,
$initializationVector,
$tag,
$aad = '',
$tagLength = 128,
$keySize = 256
) {
if (version_compare(PHP_VERSION, '7.1', '<')) {
throw new RuntimeException(
'AES-GCM decryption is only supported in PHP 7.1 or greater'
);
}
$this->cipherText = $cipherText;
$this->key = $key;
$this->initializationVector = $initializationVector;
$this->tag = $tag;
$this->aad = $aad;
$this->tagLength = $tagLength;
$this->keySize = $keySize;
}
public function getOpenSslName()
{
return "aes-{$this->keySize}-gcm";
}
public function getAesName()
{
return 'AES/GCM/NoPadding';
}
public function getCurrentIv()
{
return $this->initializationVector;
}
public function createStream()
{
return Psr7\stream_for(openssl_decrypt(
(string) $this->cipherText,
$this->getOpenSslName(),
$this->key,
OPENSSL_RAW_DATA,
$this->initializationVector,
$this->tag,
$this->aad
));
}
public function isWritable()
{
return false;
}
}

View File

@@ -0,0 +1,101 @@
<?php
namespace Aws\Crypto;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\StreamDecoratorTrait;
use Psr\Http\Message\StreamInterface;
use \RuntimeException;
/**
* @internal Represents a stream of data to be gcm encrypted.
*/
class AesGcmEncryptingStream implements AesStreamInterface
{
use StreamDecoratorTrait;
private $aad;
private $initializationVector;
private $key;
private $keySize;
private $plaintext;
private $tag = '';
private $tagLength;
/**
* @param StreamInterface $plaintext
* @param string $key
* @param string $initializationVector
* @param string $aad
* @param int $tagLength
* @param int $keySize
*/
public function __construct(
StreamInterface $plaintext,
$key,
$initializationVector,
$aad = '',
$tagLength = 16,
$keySize = 256
) {
if (version_compare(PHP_VERSION, '7.1', '<')) {
throw new RuntimeException(
'AES-GCM decryption is only supported in PHP 7.1 or greater'
);
}
$this->plaintext = $plaintext;
$this->key = $key;
$this->initializationVector = $initializationVector;
$this->aad = $aad;
$this->tagLength = $tagLength;
$this->keySize = $keySize;
}
public function getOpenSslName()
{
return "aes-{$this->keySize}-gcm";
}
public function getAesName()
{
return 'AES/GCM/NoPadding';
}
public function getCurrentIv()
{
return $this->initializationVector;
}
public function createStream()
{
return Psr7\stream_for(openssl_encrypt(
(string) $this->plaintext,
$this->getOpenSslName(),
$this->key,
OPENSSL_RAW_DATA,
$this->initializationVector,
$this->tag,
$this->aad,
$this->tagLength
));
}
/**
* @return string
*/
public function getTag()
{
return $this->tag;
}
public function isWritable()
{
return false;
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace Aws\Crypto;
use Psr\Http\Message\StreamInterface;
interface AesStreamInterface extends StreamInterface
{
/**
* Returns an identifier recognizable by `openssl_*` functions, such as
* `aes-256-cbc` or `aes-128-ctr`.
*
* @return string
*/
public function getOpenSslName();
/**
* Returns an AES recognizable name, such as 'AES/GCM/NoPadding'.
*
* @return string
*/
public function getAesName();
/**
* Returns the IV that should be used to initialize the next block in
* encrypt or decrypt.
*
* @return string
*/
public function getCurrentIv();
}

View File

@@ -0,0 +1,82 @@
<?php
namespace Aws\Crypto\Cipher;
use \InvalidArgumentException;
use \LogicException;
/**
* An implementation of the CBC cipher for use with an AesEncryptingStream or
* AesDecrypting stream.
*/
class Cbc implements CipherMethod
{
const BLOCK_SIZE = 16;
/**
* @var string
*/
private $baseIv;
/**
* @var string
*/
private $iv;
/**
* @var int
*/
private $keySize;
/**
* @param string $iv Base Initialization Vector for the cipher.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @throws InvalidArgumentException Thrown if the passed iv does not match
* the iv length required by the cipher.
*/
public function __construct($iv, $keySize = 256)
{
$this->baseIv = $this->iv = $iv;
$this->keySize = $keySize;
if (strlen($iv) !== openssl_cipher_iv_length($this->getOpenSslName())) {
throw new InvalidArgumentException('Invalid initialization vector');
}
}
public function getOpenSslName()
{
return "aes-{$this->keySize}-cbc";
}
public function getAesName()
{
return 'AES/CBC/PKCS5Padding';
}
public function getCurrentIv()
{
return $this->iv;
}
public function requiresPadding()
{
return true;
}
public function seek($offset, $whence = SEEK_SET)
{
if ($offset === 0 && $whence === SEEK_SET) {
$this->iv = $this->baseIv;
} else {
throw new LogicException('CBC initialization only support being'
. ' rewound, not arbitrary seeking.');
}
}
public function update($cipherTextBlock)
{
$this->iv = substr($cipherTextBlock, self::BLOCK_SIZE * -1);
}
}

View File

@@ -0,0 +1,70 @@
<?php
namespace Aws\Crypto\Cipher;
trait CipherBuilderTrait
{
/**
* Returns an identifier recognizable by `openssl_*` functions, such as
* `aes-256-cbc` or `aes-128-ctr`.
*
* @param string $cipherName Name of the cipher being used for encrypting
* or decrypting.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @return string
*/
protected function getCipherOpenSslName($cipherName, $keySize)
{
return "aes-{$keySize}-{$cipherName}";
}
/**
* Constructs a CipherMethod for the given name, initialized with the other
* data passed for use in encrypting or decrypting.
*
* @param string $cipherName Name of the cipher to generate for encrypting.
* @param string $iv Base Initialization Vector for the cipher.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @return CipherMethod
*
* @internal
*/
protected function buildCipherMethod($cipherName, $iv, $keySize)
{
switch ($cipherName) {
case 'cbc':
return new Cbc(
$iv,
$keySize
);
default:
return null;
}
}
/**
* Performs a reverse lookup to get the openssl_* cipher name from the
* AESName passed in from the MetadataEnvelope.
*
* @param $aesName
*
* @return string
*
* @internal
*/
protected function getCipherFromAesName($aesName)
{
switch ($aesName) {
case 'AES/GCM/NoPadding':
return 'gcm';
case 'AES/CBC/PKCS5Padding':
return 'cbc';
default:
throw new \RuntimeException('Unrecognized or unsupported'
. ' AESName for reverse lookup.');
}
}
}

View File

@@ -0,0 +1,59 @@
<?php
namespace Aws\Crypto\Cipher;
interface CipherMethod
{
/**
* Returns an identifier recognizable by `openssl_*` functions, such as
* `aes-256-cbc` or `aes-128-ctr`.
*
* @return string
*/
public function getOpenSslName();
/**
* Returns an AES recognizable name, such as 'AES/GCM/NoPadding'.
*
* @return string
*/
public function getAesName();
/**
* Returns the IV that should be used to initialize the next block in
* encrypt or decrypt.
*
* @return string
*/
public function getCurrentIv();
/**
* Indicates whether the cipher method used with this IV requires padding
* the final block to make sure the plaintext is evenly divisible by the
* block size.
*
* @return boolean
*/
public function requiresPadding();
/**
* Adjust the return of this::getCurrentIv to reflect a seek performed on
* the encryption stream using this IV object.
*
* @param int $offset
* @param int $whence
*
* @throws LogicException Thrown if the requested seek is not supported by
* this IV implementation. For example, a CBC IV
* only supports a full rewind ($offset === 0 &&
* $whence === SEEK_SET)
*/
public function seek($offset, $whence = SEEK_SET);
/**
* Take account of the last cipher text block to adjust the return of
* this::getCurrentIv
*
* @param string $cipherTextBlock
*/
public function update($cipherTextBlock);
}

View File

@@ -0,0 +1,179 @@
<?php
namespace Aws\Crypto;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\LimitStream;
trait DecryptionTrait
{
/**
* Dependency to reverse lookup the openssl_* cipher name from the AESName
* in the MetadataEnvelope.
*
* @param $aesName
*
* @return string
*
* @internal
*/
abstract protected function getCipherFromAesName($aesName);
/**
* Dependency to generate a CipherMethod from a set of inputs for loading
* in to an AesDecryptingStream.
*
* @param string $cipherName Name of the cipher to generate for decrypting.
* @param string $iv Base Initialization Vector for the cipher.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @return Cipher\CipherMethod
*
* @internal
*/
abstract protected function buildCipherMethod($cipherName, $iv, $keySize);
/**
* Builds an AesStreamInterface using cipher options loaded from the
* MetadataEnvelope and MaterialsProvider.
*
* @param string $cipherText Plain-text data to be encrypted using the
* materials, algorithm, and data provided.
* @param MaterialsProvider $provider A provider to supply and encrypt
* materials used in encryption.
* @param MetadataEnvelope $envelope A storage envelope for encryption
* metadata to be read from.
* @param array $cipherOptions Additional verification options.
*
* @return AesStreamInterface
*
* @throws \InvalidArgumentException Thrown when a value in $cipherOptions
* is not valid.
*
* @internal
*/
protected function decrypt(
$cipherText,
MaterialsProvider $provider,
MetadataEnvelope $envelope,
array $cipherOptions = []
) {
$cipherOptions['Iv'] = base64_decode(
$envelope[MetadataEnvelope::IV_HEADER]
);
$cipherOptions['TagLength'] =
$envelope[MetadataEnvelope::CRYPTO_TAG_LENGTH_HEADER] / 8;
$cek = $provider->decryptCek(
base64_decode(
$envelope[MetadataEnvelope::CONTENT_KEY_V2_HEADER]
),
json_decode(
$envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER],
true
)
);
$cipherOptions['KeySize'] = strlen($cek) * 8;
$cipherOptions['Cipher'] = $this->getCipherFromAesName(
$envelope[MetadataEnvelope::CONTENT_CRYPTO_SCHEME_HEADER]
);
$decryptionSteam = $this->getDecryptingStream(
$cipherText,
$cek,
$cipherOptions
);
unset($cek);
return $decryptionSteam;
}
private function getTagFromCiphertextStream(
Psr7\Stream $cipherText,
$tagLength
) {
$cipherTextSize = $cipherText->getSize();
if ($cipherTextSize == null || $cipherTextSize <= 0) {
throw new \RuntimeException('Cannot decrypt a stream of unknown'
. ' size.');
}
return (string) new LimitStream(
$cipherText,
$tagLength,
$cipherTextSize - $tagLength
);
}
private function getStrippedCiphertextStream(
Psr7\Stream $cipherText,
$tagLength
) {
$cipherTextSize = $cipherText->getSize();
if ($cipherTextSize == null || $cipherTextSize <= 0) {
throw new \RuntimeException('Cannot decrypt a stream of unknown'
. ' size.');
}
return new LimitStream(
$cipherText,
$cipherTextSize - $tagLength,
0
);
}
/**
* Generates a stream that wraps the cipher text with the proper cipher and
* uses the content encryption key (CEK) to decrypt the data when read.
*
* @param string $cipherText Plain-text data to be encrypted using the
* materials, algorithm, and data provided.
* @param string $cek A content encryption key for use by the stream for
* encrypting the plaintext data.
* @param array $cipherOptions Options for use in determining the cipher to
* be used for encrypting data.
*
* @return AesStreamInterface
*
* @internal
*/
protected function getDecryptingStream(
$cipherText,
$cek,
$cipherOptions
) {
$cipherTextStream = Psr7\stream_for($cipherText);
switch ($cipherOptions['Cipher']) {
case 'gcm':
$cipherOptions['Tag'] = $this->getTagFromCiphertextStream(
$cipherTextStream,
$cipherOptions['TagLength']
);
return new AesGcmDecryptingStream(
$this->getStrippedCiphertextStream(
$cipherTextStream,
$cipherOptions['TagLength']
),
$cek,
$cipherOptions['Iv'],
$cipherOptions['Tag'],
$cipherOptions['Aad'] = isset($cipherOptions['Aad'])
? $cipherOptions['Aad']
: null,
$cipherOptions['TagLength'] ?: null,
$cipherOptions['KeySize']
);
default:
$cipherMethod = $this->buildCipherMethod(
$cipherOptions['Cipher'],
$cipherOptions['Iv'],
$cipherOptions['KeySize']
);
return new AesDecryptingStream(
$cipherTextStream,
$cek,
$cipherMethod
);
}
}
}

View File

@@ -0,0 +1,186 @@
<?php
namespace Aws\Crypto;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\AppendStream;
use GuzzleHttp\Psr7\Stream;
trait EncryptionTrait
{
private static $allowedOptions = [
'Cipher' => true,
'KeySize' => true,
'Aad' => true,
];
/**
* Dependency to generate a CipherMethod from a set of inputs for loading
* in to an AesEncryptingStream.
*
* @param string $cipherName Name of the cipher to generate for encrypting.
* @param string $iv Base Initialization Vector for the cipher.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @return Cipher\CipherMethod
*
* @internal
*/
abstract protected function buildCipherMethod($cipherName, $iv, $keySize);
/**
* Builds an AesStreamInterface and populates encryption metadata into the
* supplied envelope.
*
* @param Stream $plaintext Plain-text data to be encrypted using the
* materials, algorithm, and data provided.
* @param array $cipherOptions Options for use in determining the cipher to
* be used for encrypting data.
* @param MaterialsProvider $provider A provider to supply and encrypt
* materials used in encryption.
* @param MetadataEnvelope $envelope A storage envelope for encryption
* metadata to be added to.
*
* @return AesStreamInterface
*
* @throws \InvalidArgumentException Thrown when a value in $cipherOptions
* is not valid.
*
* @internal
*/
protected function encrypt(
Stream $plaintext,
array $cipherOptions,
MaterialsProvider $provider,
MetadataEnvelope $envelope
) {
$materialsDescription = $provider->getMaterialsDescription();
$cipherOptions = array_intersect_key(
$cipherOptions,
self::$allowedOptions
);
if (empty($cipherOptions['Cipher'])) {
throw new \InvalidArgumentException('An encryption cipher must be'
. ' specified in the "cipher_options".');
}
if (!self::isSupportedCipher($cipherOptions['Cipher'])) {
throw new \InvalidArgumentException('The cipher requested is not'
. ' supported by the SDK.');
}
if (empty($cipherOptions['KeySize'])) {
$cipherOptions['KeySize'] = 256;
}
if (!is_int($cipherOptions['KeySize'])) {
throw new \InvalidArgumentException('The cipher "KeySize" must be'
. ' an integer.');
}
if (!MaterialsProvider::isSupportedKeySize(
$cipherOptions['KeySize']
)) {
throw new \InvalidArgumentException('The cipher "KeySize" requested'
. ' is not supported by AES (128, 192, or 256).');
}
$cipherOptions['Iv'] = $provider->generateIv(
$this->getCipherOpenSslName(
$cipherOptions['Cipher'],
$cipherOptions['KeySize']
)
);
$cek = $provider->generateCek($cipherOptions['KeySize']);
list($encryptingStream, $aesName) = $this->getEncryptingStream(
$plaintext,
$cek,
$cipherOptions
);
// Populate envelope data
$envelope[MetadataEnvelope::CONTENT_KEY_V2_HEADER] =
$provider->encryptCek(
$cek,
$materialsDescription
);
unset($cek);
$envelope[MetadataEnvelope::IV_HEADER] =
base64_encode($cipherOptions['Iv']);
$envelope[MetadataEnvelope::KEY_WRAP_ALGORITHM_HEADER] =
$provider->getWrapAlgorithmName();
$envelope[MetadataEnvelope::CONTENT_CRYPTO_SCHEME_HEADER] = $aesName;
$envelope[MetadataEnvelope::UNENCRYPTED_CONTENT_LENGTH_HEADER] =
strlen($plaintext);
$envelope[MetadataEnvelope::UNENCRYPTED_CONTENT_MD5_HEADER] =
base64_encode(md5($plaintext));
$envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER] =
json_encode($materialsDescription);
if (!empty($cipherOptions['Tag'])) {
$envelope[MetadataEnvelope::CRYPTO_TAG_LENGTH_HEADER] =
strlen($cipherOptions['Tag']) * 8;
}
return $encryptingStream;
}
/**
* Generates a stream that wraps the plaintext with the proper cipher and
* uses the content encryption key (CEK) to encrypt the data when read.
*
* @param Stream $plaintext Plain-text data to be encrypted using the
* materials, algorithm, and data provided.
* @param string $cek A content encryption key for use by the stream for
* encrypting the plaintext data.
* @param array $cipherOptions Options for use in determining the cipher to
* be used for encrypting data.
*
* @return [AesStreamInterface, string]
*
* @internal
*/
protected function getEncryptingStream(
Stream $plaintext,
$cek,
&$cipherOptions
) {
switch ($cipherOptions['Cipher']) {
case 'gcm':
$cipherOptions['TagLength'] = 16;
$cipherTextStream = new AesGcmEncryptingStream(
$plaintext,
$cek,
$cipherOptions['Iv'],
$cipherOptions['Aad'] = isset($cipherOptions['Aad'])
? $cipherOptions['Aad']
: null,
$cipherOptions['TagLength'],
$cipherOptions['KeySize']
);
$appendStream = new AppendStream([
$cipherTextStream->createStream()
]);
$cipherOptions['Tag'] = $cipherTextStream->getTag();
$appendStream->addStream(Psr7\stream_for($cipherOptions['Tag']));
return [$appendStream, $cipherTextStream->getAesName()];
default:
$cipherMethod = $this->buildCipherMethod(
$cipherOptions['Cipher'],
$cipherOptions['Iv'],
$cipherOptions['KeySize']
);
$cipherTextStream = new AesEncryptingStream(
$plaintext,
$cek,
$cipherMethod
);
return [$cipherTextStream, $cipherTextStream->getAesName()];
}
}
}

View File

@@ -0,0 +1,108 @@
<?php
namespace Aws\Crypto;
use Aws\Kms\KmsClient;
/**
* Uses KMS to supply materials for encrypting and decrypting data.
*/
class KmsMaterialsProvider extends MaterialsProvider
{
private $kmsClient;
private $kmsKeyId;
/**
* @param KmsClient $kmsClient A KMS Client for use encrypting and
* decrypting keys.
* @param string $kmsKeyId The private KMS key id to be used for encrypting
* and decrypting keys.
*/
public function __construct(
KmsClient $kmsClient,
$kmsKeyId = null
) {
$this->kmsClient = $kmsClient;
$this->kmsKeyId = $kmsKeyId;
}
public function fromDecryptionEnvelope(MetadataEnvelope $envelope)
{
if (empty($envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER])) {
throw new \RuntimeException('Not able to detect kms_cmk_id from an'
. ' empty materials description.');
}
$materialsDescription = json_decode(
$envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER],
true
);
if (empty($materialsDescription['kms_cmk_id'])) {
throw new \RuntimeException('Not able to detect kms_cmk_id from kms'
. ' materials description.');
}
return new KmsMaterialsProvider(
$this->kmsClient,
$materialsDescription['kms_cmk_id']
);
}
/**
* The KMS key id for use in matching this Provider to its keys,
* consistently with other SDKs as 'kms_cmk_id'.
*
* @return array
*/
public function getMaterialsDescription()
{
return ['kms_cmk_id' => $this->kmsKeyId];
}
public function getWrapAlgorithmName()
{
return 'kms';
}
/**
* Takes a content encryption key (CEK) and description to return an encrypted
* key by using KMS' Encrypt API.
*
* @param string $unencryptedCek Key for use in encrypting other data
* that itself needs to be encrypted by the
* Provider.
* @param string $materialDescription Material Description for use in
* encrypting the $cek.
*
* @return string
*/
public function encryptCek($unencryptedCek, $materialDescription)
{
$encryptedDataKey = $this->kmsClient->encrypt([
'Plaintext' => $unencryptedCek,
'KeyId' => $this->kmsKeyId,
'EncryptionContext' => $materialDescription
]);
return base64_encode($encryptedDataKey['CiphertextBlob']);
}
/**
* Takes an encrypted content encryption key (CEK) and material description
* for use decrypting the key by using KMS' Decrypt API.
*
* @param string $encryptedCek Encrypted key to be decrypted by the Provider
* for use decrypting other data.
* @param string $materialDescription Material Description for use in
* encrypting the $cek.
*
* @return string
*/
public function decryptCek($encryptedCek, $materialDescription)
{
$result = $this->kmsClient->decrypt([
'CiphertextBlob' => $encryptedCek,
'EncryptionContext' => $materialDescription
]);
return $result['Plaintext'];
}
}

View File

@@ -0,0 +1,105 @@
<?php
namespace Aws\Crypto;
abstract class MaterialsProvider
{
private static $supportedKeySizes = [
128 => true,
192 => true,
256 => true,
];
/**
* Returns if the requested size is supported by AES.
*
* @param int $keySize Size of the requested key in bits.
*
* @return bool
*/
public static function isSupportedKeySize($keySize)
{
return isset(self::$supportedKeySizes[$keySize]);
}
/**
* Performs further initialization of the MaterialsProvider based on the
* data inside the MetadataEnvelope.
*
* @param MetadataEnvelope $envelope A storage envelope for encryption
* metadata to be read from.
*
* @return MaterialsProvider
*
* @throws \RuntimeException Thrown when there is an empty or improperly
* formed materials description in the envelope.
*
* @internal
*/
abstract public function fromDecryptionEnvelope(MetadataEnvelope $envelope);
/**
* Returns the material description for this Provider so it can be verified
* by encryption mechanisms.
*
* @return string
*/
abstract public function getMaterialsDescription();
/**
* Returns the wrap algorithm name for this Provider.
*
* @return string
*/
abstract public function getWrapAlgorithmName();
/**
* Takes a content encryption key (CEK) and description to return an
* encrypted key according to the Provider's specifications.
*
* @param string $unencryptedCek Key for use in encrypting other data
* that itself needs to be encrypted by the
* Provider.
* @param string $materialDescription Material Description for use in
* encrypting the $cek.
*
* @return string
*/
abstract public function encryptCek($unencryptedCek, $materialDescription);
/**
* Takes an encrypted content encryption key (CEK) and material description
* for use decrypting the key according to the Provider's specifications.
*
* @param string $encryptedCek Encrypted key to be decrypted by the Provider
* for use decrypting other data.
* @param string $materialDescription Material Description for use in
* encrypting the $cek.
*
* @return string
*/
abstract public function decryptCek($encryptedCek, $materialDescription);
/**
* @param string $keySize Length of a cipher key in bits for generating a
* random content encryption key (CEK).
*
* @return string
*/
public function generateCek($keySize)
{
return openssl_random_pseudo_bytes($keySize / 8);
}
/**
* @param string $openSslName Cipher OpenSSL name to use for generating
* an initialization vector.
*
* @return string
*/
public function generateIv($openSslName)
{
return openssl_random_pseudo_bytes(
openssl_cipher_iv_length($openSslName)
);
}
}

View File

@@ -0,0 +1,57 @@
<?php
namespace Aws\Crypto;
use Aws\HasDataTrait;
use \ArrayAccess;
use \IteratorAggregate;
use \InvalidArgumentException;
use \JsonSerializable;
/**
* Stores encryption metadata for reading and writing.
*
* @internal
*/
class MetadataEnvelope implements ArrayAccess, IteratorAggregate, JsonSerializable
{
use HasDataTrait;
const CONTENT_KEY_V2_HEADER = 'x-amz-key-v2';
const IV_HEADER = 'x-amz-iv';
const MATERIALS_DESCRIPTION_HEADER = 'x-amz-matdesc';
const KEY_WRAP_ALGORITHM_HEADER = 'x-amz-wrap-alg';
const CONTENT_CRYPTO_SCHEME_HEADER = 'x-amz-cek-alg';
const CRYPTO_TAG_LENGTH_HEADER = 'x-amz-tag-len';
const UNENCRYPTED_CONTENT_MD5_HEADER = 'x-amz-unencrypted-content-md5';
const UNENCRYPTED_CONTENT_LENGTH_HEADER = 'x-amz-unencrypted-content-length';
private static $constants = [];
public static function getConstantValues()
{
if (empty(self::$constants)) {
$reflection = new \ReflectionClass(static::class);
foreach (array_values($reflection->getConstants()) as $constant) {
self::$constants[$constant] = true;
}
}
return array_keys(self::$constants);
}
public function offsetSet($name, $value)
{
$constants = self::getConstantValues();
if (is_null($name) || !in_array($name, $constants)) {
throw new InvalidArgumentException('MetadataEnvelope fields must'
. ' must match a predefined offset; use the header constants.');
}
$this->data[$name] = $value;
}
public function jsonSerialize()
{
return $this->data;
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace Aws\Crypto;
interface MetadataStrategyInterface
{
/**
* Places the information in the MetadataEnvelope to the strategy specific
* location. Populates the PutObject arguments with any information
* necessary for loading.
*
* @param MetadataEnvelope $envelope Encryption data to save according to
* the strategy.
* @param array $args Starting arguments for PutObject.
*
* @return array Updated arguments for PutObject.
*/
public function save(MetadataEnvelope $envelope, array $args);
/**
* Generates a MetadataEnvelope according to the specific strategy using the
* passed arguments.
*
* @param array $args Arguments from Command and Result that contains
* S3 Object information, relevant headers, and command
* configuration.
*
* @return MetadataEnvelope
*/
public function load(array $args);
}

View File

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

View File

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

View File

@@ -0,0 +1,19 @@
<?php
namespace Aws\DLM;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon Data Lifecycle Manager** service.
* @method \Aws\Result createLifecyclePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise createLifecyclePolicyAsync(array $args = [])
* @method \Aws\Result deleteLifecyclePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteLifecyclePolicyAsync(array $args = [])
* @method \Aws\Result getLifecyclePolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLifecyclePoliciesAsync(array $args = [])
* @method \Aws\Result getLifecyclePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLifecyclePolicyAsync(array $args = [])
* @method \Aws\Result updateLifecyclePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateLifecyclePolicyAsync(array $args = [])
*/
class DLMClient extends AwsClient {}

View File

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

View File

@@ -9,6 +9,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = [])
* @method \Aws\Result createEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEndpointAsync(array $args = [])
* @method \Aws\Result createEventSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEventSubscriptionAsync(array $args = [])
* @method \Aws\Result createReplicationInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise createReplicationInstanceAsync(array $args = [])
* @method \Aws\Result createReplicationSubnetGroup(array $args = [])
@@ -19,6 +21,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = [])
* @method \Aws\Result deleteEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEndpointAsync(array $args = [])
* @method \Aws\Result deleteEventSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEventSubscriptionAsync(array $args = [])
* @method \Aws\Result deleteReplicationInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteReplicationInstanceAsync(array $args = [])
* @method \Aws\Result deleteReplicationSubnetGroup(array $args = [])
@@ -35,14 +39,24 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeEndpointTypesAsync(array $args = [])
* @method \Aws\Result describeEndpoints(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEndpointsAsync(array $args = [])
* @method \Aws\Result describeEventCategories(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEventCategoriesAsync(array $args = [])
* @method \Aws\Result describeEventSubscriptions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEventSubscriptionsAsync(array $args = [])
* @method \Aws\Result describeEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = [])
* @method \Aws\Result describeOrderableReplicationInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeOrderableReplicationInstancesAsync(array $args = [])
* @method \Aws\Result describeRefreshSchemasStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeRefreshSchemasStatusAsync(array $args = [])
* @method \Aws\Result describeReplicationInstanceTaskLogs(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReplicationInstanceTaskLogsAsync(array $args = [])
* @method \Aws\Result describeReplicationInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReplicationInstancesAsync(array $args = [])
* @method \Aws\Result describeReplicationSubnetGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReplicationSubnetGroupsAsync(array $args = [])
* @method \Aws\Result describeReplicationTaskAssessmentResults(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReplicationTaskAssessmentResultsAsync(array $args = [])
* @method \Aws\Result describeReplicationTasks(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReplicationTasksAsync(array $args = [])
* @method \Aws\Result describeSchemas(array $args = [])
@@ -55,16 +69,26 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result modifyEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyEndpointAsync(array $args = [])
* @method \Aws\Result modifyEventSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyEventSubscriptionAsync(array $args = [])
* @method \Aws\Result modifyReplicationInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyReplicationInstanceAsync(array $args = [])
* @method \Aws\Result modifyReplicationSubnetGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyReplicationSubnetGroupAsync(array $args = [])
* @method \Aws\Result modifyReplicationTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyReplicationTaskAsync(array $args = [])
* @method \Aws\Result rebootReplicationInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise rebootReplicationInstanceAsync(array $args = [])
* @method \Aws\Result refreshSchemas(array $args = [])
* @method \GuzzleHttp\Promise\Promise refreshSchemasAsync(array $args = [])
* @method \Aws\Result reloadTables(array $args = [])
* @method \GuzzleHttp\Promise\Promise reloadTablesAsync(array $args = [])
* @method \Aws\Result removeTagsFromResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = [])
* @method \Aws\Result startReplicationTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startReplicationTaskAsync(array $args = [])
* @method \Aws\Result startReplicationTaskAssessment(array $args = [])
* @method \GuzzleHttp\Promise\Promise startReplicationTaskAssessmentAsync(array $args = [])
* @method \Aws\Result stopReplicationTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopReplicationTaskAsync(array $args = [])
* @method \Aws\Result testConnection(array $args = [])

View File

@@ -8,14 +8,24 @@ use Aws\AwsClient;
*
* @method \Aws\Result createDevicePool(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDevicePoolAsync(array $args = [])
* @method \Aws\Result createInstanceProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createInstanceProfileAsync(array $args = [])
* @method \Aws\Result createNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNetworkProfileAsync(array $args = [])
* @method \Aws\Result createProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = [])
* @method \Aws\Result createRemoteAccessSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRemoteAccessSessionAsync(array $args = [])
* @method \Aws\Result createUpload(array $args = [])
* @method \GuzzleHttp\Promise\Promise createUploadAsync(array $args = [])
* @method \Aws\Result createVPCEConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createVPCEConfigurationAsync(array $args = [])
* @method \Aws\Result deleteDevicePool(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDevicePoolAsync(array $args = [])
* @method \Aws\Result deleteInstanceProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteInstanceProfileAsync(array $args = [])
* @method \Aws\Result deleteNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNetworkProfileAsync(array $args = [])
* @method \Aws\Result deleteProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = [])
* @method \Aws\Result deleteRemoteAccessSession(array $args = [])
@@ -24,16 +34,24 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteRunAsync(array $args = [])
* @method \Aws\Result deleteUpload(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUploadAsync(array $args = [])
* @method \Aws\Result deleteVPCEConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteVPCEConfigurationAsync(array $args = [])
* @method \Aws\Result getAccountSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountSettingsAsync(array $args = [])
* @method \Aws\Result getDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = [])
* @method \Aws\Result getDeviceInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDeviceInstanceAsync(array $args = [])
* @method \Aws\Result getDevicePool(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDevicePoolAsync(array $args = [])
* @method \Aws\Result getDevicePoolCompatibility(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDevicePoolCompatibilityAsync(array $args = [])
* @method \Aws\Result getInstanceProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInstanceProfileAsync(array $args = [])
* @method \Aws\Result getJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = [])
* @method \Aws\Result getNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getNetworkProfileAsync(array $args = [])
* @method \Aws\Result getOfferingStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getOfferingStatusAsync(array $args = [])
* @method \Aws\Result getProject(array $args = [])
@@ -48,16 +66,26 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getTestAsync(array $args = [])
* @method \Aws\Result getUpload(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUploadAsync(array $args = [])
* @method \Aws\Result getVPCEConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getVPCEConfigurationAsync(array $args = [])
* @method \Aws\Result installToRemoteAccessSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise installToRemoteAccessSessionAsync(array $args = [])
* @method \Aws\Result listArtifacts(array $args = [])
* @method \GuzzleHttp\Promise\Promise listArtifactsAsync(array $args = [])
* @method \Aws\Result listDeviceInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDeviceInstancesAsync(array $args = [])
* @method \Aws\Result listDevicePools(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDevicePoolsAsync(array $args = [])
* @method \Aws\Result listDevices(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDevicesAsync(array $args = [])
* @method \Aws\Result listInstanceProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listInstanceProfilesAsync(array $args = [])
* @method \Aws\Result listJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = [])
* @method \Aws\Result listNetworkProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNetworkProfilesAsync(array $args = [])
* @method \Aws\Result listOfferingPromotions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOfferingPromotionsAsync(array $args = [])
* @method \Aws\Result listOfferingTransactions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOfferingTransactionsAsync(array $args = [])
* @method \Aws\Result listOfferings(array $args = [])
@@ -78,6 +106,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listUniqueProblemsAsync(array $args = [])
* @method \Aws\Result listUploads(array $args = [])
* @method \GuzzleHttp\Promise\Promise listUploadsAsync(array $args = [])
* @method \Aws\Result listVPCEConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listVPCEConfigurationsAsync(array $args = [])
* @method \Aws\Result purchaseOffering(array $args = [])
* @method \GuzzleHttp\Promise\Promise purchaseOfferingAsync(array $args = [])
* @method \Aws\Result renewOffering(array $args = [])
@@ -88,9 +118,17 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise stopRemoteAccessSessionAsync(array $args = [])
* @method \Aws\Result stopRun(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopRunAsync(array $args = [])
* @method \Aws\Result updateDeviceInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDeviceInstanceAsync(array $args = [])
* @method \Aws\Result updateDevicePool(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDevicePoolAsync(array $args = [])
* @method \Aws\Result updateInstanceProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateInstanceProfileAsync(array $args = [])
* @method \Aws\Result updateNetworkProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNetworkProfileAsync(array $args = [])
* @method \Aws\Result updateProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = [])
* @method \Aws\Result updateVPCEConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateVPCEConfigurationAsync(array $args = [])
*/
class DeviceFarmClient extends AwsClient {}

View File

@@ -8,28 +8,52 @@ use Aws\AwsClient;
*
* @method \Aws\Result allocateConnectionOnInterconnect(array $args = [])
* @method \GuzzleHttp\Promise\Promise allocateConnectionOnInterconnectAsync(array $args = [])
* @method \Aws\Result allocateHostedConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise allocateHostedConnectionAsync(array $args = [])
* @method \Aws\Result allocatePrivateVirtualInterface(array $args = [])
* @method \GuzzleHttp\Promise\Promise allocatePrivateVirtualInterfaceAsync(array $args = [])
* @method \Aws\Result allocatePublicVirtualInterface(array $args = [])
* @method \GuzzleHttp\Promise\Promise allocatePublicVirtualInterfaceAsync(array $args = [])
* @method \Aws\Result associateConnectionWithLag(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateConnectionWithLagAsync(array $args = [])
* @method \Aws\Result associateHostedConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateHostedConnectionAsync(array $args = [])
* @method \Aws\Result associateVirtualInterface(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateVirtualInterfaceAsync(array $args = [])
* @method \Aws\Result confirmConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise confirmConnectionAsync(array $args = [])
* @method \Aws\Result confirmPrivateVirtualInterface(array $args = [])
* @method \GuzzleHttp\Promise\Promise confirmPrivateVirtualInterfaceAsync(array $args = [])
* @method \Aws\Result confirmPublicVirtualInterface(array $args = [])
* @method \GuzzleHttp\Promise\Promise confirmPublicVirtualInterfaceAsync(array $args = [])
* @method \Aws\Result createBGPPeer(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBGPPeerAsync(array $args = [])
* @method \Aws\Result createConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise createConnectionAsync(array $args = [])
* @method \Aws\Result createDirectConnectGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDirectConnectGatewayAsync(array $args = [])
* @method \Aws\Result createDirectConnectGatewayAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDirectConnectGatewayAssociationAsync(array $args = [])
* @method \Aws\Result createInterconnect(array $args = [])
* @method \GuzzleHttp\Promise\Promise createInterconnectAsync(array $args = [])
* @method \Aws\Result createLag(array $args = [])
* @method \GuzzleHttp\Promise\Promise createLagAsync(array $args = [])
* @method \Aws\Result createPrivateVirtualInterface(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPrivateVirtualInterfaceAsync(array $args = [])
* @method \Aws\Result createPublicVirtualInterface(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPublicVirtualInterfaceAsync(array $args = [])
* @method \Aws\Result deleteBGPPeer(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBGPPeerAsync(array $args = [])
* @method \Aws\Result deleteConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConnectionAsync(array $args = [])
* @method \Aws\Result deleteDirectConnectGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDirectConnectGatewayAsync(array $args = [])
* @method \Aws\Result deleteDirectConnectGatewayAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDirectConnectGatewayAssociationAsync(array $args = [])
* @method \Aws\Result deleteInterconnect(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteInterconnectAsync(array $args = [])
* @method \Aws\Result deleteLag(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteLagAsync(array $args = [])
* @method \Aws\Result deleteVirtualInterface(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteVirtualInterfaceAsync(array $args = [])
* @method \Aws\Result describeConnectionLoa(array $args = [])
@@ -38,15 +62,37 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeConnectionsAsync(array $args = [])
* @method \Aws\Result describeConnectionsOnInterconnect(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConnectionsOnInterconnectAsync(array $args = [])
* @method \Aws\Result describeDirectConnectGatewayAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewayAssociationsAsync(array $args = [])
* @method \Aws\Result describeDirectConnectGatewayAttachments(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewayAttachmentsAsync(array $args = [])
* @method \Aws\Result describeDirectConnectGateways(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewaysAsync(array $args = [])
* @method \Aws\Result describeHostedConnections(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeHostedConnectionsAsync(array $args = [])
* @method \Aws\Result describeInterconnectLoa(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeInterconnectLoaAsync(array $args = [])
* @method \Aws\Result describeInterconnects(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeInterconnectsAsync(array $args = [])
* @method \Aws\Result describeLags(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLagsAsync(array $args = [])
* @method \Aws\Result describeLoa(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLoaAsync(array $args = [])
* @method \Aws\Result describeLocations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLocationsAsync(array $args = [])
* @method \Aws\Result describeTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = [])
* @method \Aws\Result describeVirtualGateways(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeVirtualGatewaysAsync(array $args = [])
* @method \Aws\Result describeVirtualInterfaces(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeVirtualInterfacesAsync(array $args = [])
* @method \Aws\Result disassociateConnectionFromLag(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateConnectionFromLagAsync(array $args = [])
* @method \Aws\Result 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 updateLag(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateLagAsync(array $args = [])
*/
class DirectConnectClient extends AwsClient {}

View File

@@ -10,6 +10,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise addIpRoutesAsync(array $args = [])
* @method \Aws\Result addTagsToResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = [])
* @method \Aws\Result cancelSchemaExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelSchemaExtensionAsync(array $args = [])
* @method \Aws\Result connectDirectory(array $args = [])
* @method \GuzzleHttp\Promise\Promise connectDirectoryAsync(array $args = [])
* @method \Aws\Result createAlias(array $args = [])
@@ -40,6 +42,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeConditionalForwardersAsync(array $args = [])
* @method \Aws\Result describeDirectories(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDirectoriesAsync(array $args = [])
* @method \Aws\Result describeDomainControllers(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDomainControllersAsync(array $args = [])
* @method \Aws\Result describeEventTopics(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEventTopicsAsync(array $args = [])
* @method \Aws\Result describeSnapshots(array $args = [])
@@ -60,6 +64,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getSnapshotLimitsAsync(array $args = [])
* @method \Aws\Result listIpRoutes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIpRoutesAsync(array $args = [])
* @method \Aws\Result listSchemaExtensions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSchemaExtensionsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result registerEventTopic(array $args = [])
@@ -68,10 +74,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise removeIpRoutesAsync(array $args = [])
* @method \Aws\Result removeTagsFromResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = [])
* @method \Aws\Result resetUserPassword(array $args = [])
* @method \GuzzleHttp\Promise\Promise resetUserPasswordAsync(array $args = [])
* @method \Aws\Result restoreFromSnapshot(array $args = [])
* @method \GuzzleHttp\Promise\Promise restoreFromSnapshotAsync(array $args = [])
* @method \Aws\Result startSchemaExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise startSchemaExtensionAsync(array $args = [])
* @method \Aws\Result updateConditionalForwarder(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConditionalForwarderAsync(array $args = [])
* @method \Aws\Result updateNumberOfDomainControllers(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNumberOfDomainControllersAsync(array $args = [])
* @method \Aws\Result updateRadius(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRadiusAsync(array $args = [])
* @method \Aws\Result verifyTrust(array $args = [])

View File

@@ -21,8 +21,6 @@ use Aws\RetryMiddleware;
* @method \GuzzleHttp\Promise\Promise deleteItemAsync(array $args = [])
* @method \Aws\Result deleteTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTableAsync(array $args = [])
* @method \Aws\Result describeLimits(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLimitsAsync(array $args = [])
* @method \Aws\Result describeTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTableAsync(array $args = [])
* @method \Aws\Result getItem(array $args = [])
@@ -39,6 +37,46 @@ use Aws\RetryMiddleware;
* @method \GuzzleHttp\Promise\Promise updateItemAsync(array $args = [])
* @method \Aws\Result updateTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTableAsync(array $args = [])
* @method \Aws\Result createBackup(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise createBackupAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result createGlobalTable(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise createGlobalTableAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result deleteBackup(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise deleteBackupAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeBackup(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeBackupAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeContinuousBackups(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeContinuousBackupsAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeGlobalTable(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeGlobalTableAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeGlobalTableSettings(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeGlobalTableSettingsAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeLimits(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeLimitsAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result describeTimeToLive(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise describeTimeToLiveAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result listBackups(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise listBackupsAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result listGlobalTables(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise listGlobalTablesAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result listTagsOfResource(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise listTagsOfResourceAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result restoreTableFromBackup(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise restoreTableFromBackupAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result restoreTableToPointInTime(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise restoreTableToPointInTimeAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result tagResource(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result untagResource(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result updateContinuousBackups(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise updateContinuousBackupsAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result updateGlobalTable(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise updateGlobalTableAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result updateGlobalTableSettings(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise updateGlobalTableSettingsAsync(array $args = []) (supported in versions 2012-08-10)
* @method \Aws\Result updateTimeToLive(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise updateTimeToLiveAsync(array $args = []) (supported in versions 2012-08-10)
*/
class DynamoDbClient extends AwsClient
{

View File

@@ -49,7 +49,7 @@ class LockingSessionConnection extends StandardSessionConnection
if ($e->getAwsErrorCode() === 'ConditionalCheckFailedException'
&& time() < $timeout
) {
usleep(pow(10, -6) * rand(
usleep(rand(
$this->config['min_lock_retry_microtime'],
$this->config['max_lock_retry_microtime']
));

View File

@@ -259,7 +259,8 @@ class Marshaler
*/
public function unmarshalValue(array $value, $mapAsObject = false)
{
list($type, $value) = each($value);
$type = key($value);
$value = $value[$type];
switch ($type) {
case 'S':
case 'BOOL':
@@ -269,10 +270,10 @@ class Marshaler
case 'N':
if ($this->options['wrap_numbers']) {
return new NumberValue($value);
} else {
// Use type coercion to unmarshal numbers to int/float.
return $value + 0;
}
// Use type coercion to unmarshal numbers to int/float.
return $value + 0;
case 'M':
if ($mapAsObject) {
$data = new \stdClass;
@@ -283,8 +284,8 @@ class Marshaler
}
// NOBREAK: Unmarshal M the same way as L, for arrays.
case 'L':
foreach ($value as &$v) {
$v = $this->unmarshalValue($v, $mapAsObject);
foreach ($value as $k => $v) {
$value[$k] = $this->unmarshalValue($v, $mapAsObject);
}
return $value;
case 'B':
@@ -292,8 +293,8 @@ class Marshaler
case 'SS':
case 'NS':
case 'BS':
foreach ($value as &$v) {
$v = $this->unmarshalValue([$type[0] => $v]);
foreach ($value as $k => $v) {
$value[$k] = $this->unmarshalValue([$type[0] => $v]);
}
return new SetValue($value);
}
@@ -312,7 +313,9 @@ class Marshaler
{
if ($this->options['ignore_invalid']) {
return null;
} elseif ($this->options['nullify_invalid']) {
}
if ($this->options['nullify_invalid']) {
return ['NULL' => true];
}

View File

@@ -1,7 +1,6 @@
<?php
namespace Aws\DynamoDb;
use Aws\AwsClientInterface;
use Aws\CommandInterface;
use Aws\CommandPool;
use Aws\Exception\AwsException;

View File

@@ -0,0 +1,17 @@
<?php
namespace Aws\EKS;
use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon Elastic Container Service for Kubernetes** service.
* @method \Aws\Result createCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = [])
* @method \Aws\Result deleteCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = [])
* @method \Aws\Result describeCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeClusterAsync(array $args = [])
* @method \Aws\Result listClusters(array $args = [])
* @method \GuzzleHttp\Promise\Promise listClustersAsync(array $args = [])
*/
class EKSClient extends AwsClient {}

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\EKS\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **Amazon Elastic Container Service for Kubernetes** service.
*/
class EKSException extends AwsException {}

View File

@@ -5,6 +5,7 @@ use Aws\AwsClient;
use Aws\Api\Service;
use Aws\Api\DocModel;
use Aws\Api\ApiProvider;
use Aws\PresignUrlMiddleware;
/**
* Client used to interact with Amazon EC2.
@@ -417,22 +418,146 @@ use Aws\Api\ApiProvider;
* @method \GuzzleHttp\Promise\Promise unassignPrivateIpAddressesAsync(array $args = [])
* @method \Aws\Result unmonitorInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise unmonitorInstancesAsync(array $args = [])
* @method \Aws\Result describeHostReservationOfferings(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \GuzzleHttp\Promise\Promise describeHostReservationOfferingsAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \Aws\Result describeHostReservations(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \GuzzleHttp\Promise\Promise describeHostReservationsAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \Aws\Result describeIdentityIdFormat(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \GuzzleHttp\Promise\Promise describeIdentityIdFormatAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \Aws\Result getHostReservationPurchasePreview(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \GuzzleHttp\Promise\Promise getHostReservationPurchasePreviewAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \Aws\Result modifyIdentityIdFormat(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \GuzzleHttp\Promise\Promise modifyIdentityIdFormatAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \Aws\Result purchaseHostReservation(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \GuzzleHttp\Promise\Promise purchaseHostReservationAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15)
* @method \Aws\Result acceptReservedInstancesExchangeQuote(array $args = []) (supported in versions 2016-09-15)
* @method \GuzzleHttp\Promise\Promise acceptReservedInstancesExchangeQuoteAsync(array $args = []) (supported in versions 2016-09-15)
* @method \Aws\Result getReservedInstancesExchangeQuote(array $args = []) (supported in versions 2016-09-15)
* @method \GuzzleHttp\Promise\Promise getReservedInstancesExchangeQuoteAsync(array $args = []) (supported in versions 2016-09-15)
* @method \Aws\Result describeHostReservationOfferings(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeHostReservationOfferingsAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \Aws\Result describeHostReservations(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeHostReservationsAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \Aws\Result describeIdentityIdFormat(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeIdentityIdFormatAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \Aws\Result getHostReservationPurchasePreview(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getHostReservationPurchasePreviewAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \Aws\Result modifyIdentityIdFormat(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyIdentityIdFormatAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \Aws\Result purchaseHostReservation(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \GuzzleHttp\Promise\Promise purchaseHostReservationAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15)
* @method \Aws\Result acceptReservedInstancesExchangeQuote(array $args = []) (supported in versions 2016-09-15, 2016-11-15)
* @method \GuzzleHttp\Promise\Promise acceptReservedInstancesExchangeQuoteAsync(array $args = []) (supported in versions 2016-09-15, 2016-11-15)
* @method \Aws\Result getReservedInstancesExchangeQuote(array $args = []) (supported in versions 2016-09-15, 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getReservedInstancesExchangeQuoteAsync(array $args = []) (supported in versions 2016-09-15, 2016-11-15)
* @method \Aws\Result acceptVpcEndpointConnections(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise acceptVpcEndpointConnectionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result assignIpv6Addresses(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise assignIpv6AddressesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result associateIamInstanceProfile(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise associateIamInstanceProfileAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result associateSubnetCidrBlock(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise associateSubnetCidrBlockAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result associateVpcCidrBlock(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise associateVpcCidrBlockAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result copyFpgaImage(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise copyFpgaImageAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createDefaultSubnet(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createDefaultSubnetAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createDefaultVpc(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createDefaultVpcAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createEgressOnlyInternetGateway(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createEgressOnlyInternetGatewayAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createFleet(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createFleetAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createFpgaImage(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createFpgaImageAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createLaunchTemplate(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createLaunchTemplateAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createLaunchTemplateVersion(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createLaunchTemplateVersionAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createNetworkInterfacePermission(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createNetworkInterfacePermissionAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createVpcEndpointConnectionNotification(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createVpcEndpointConnectionNotificationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createVpcEndpointServiceConfiguration(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createVpcEndpointServiceConfigurationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteEgressOnlyInternetGateway(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteEgressOnlyInternetGatewayAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteFleets(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteFleetsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteFpgaImage(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteFpgaImageAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteLaunchTemplate(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteLaunchTemplateAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteLaunchTemplateVersions(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteLaunchTemplateVersionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteNetworkInterfacePermission(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteNetworkInterfacePermissionAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteVpcEndpointConnectionNotifications(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteVpcEndpointConnectionNotificationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteVpcEndpointServiceConfigurations(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteVpcEndpointServiceConfigurationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeAggregateIdFormat(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeAggregateIdFormatAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeEgressOnlyInternetGateways(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeEgressOnlyInternetGatewaysAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeElasticGpus(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeElasticGpusAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeFleetHistory(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeFleetHistoryAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeFleetInstances(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeFleetInstancesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeFleets(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeFleetsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeFpgaImageAttribute(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeFpgaImageAttributeAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeFpgaImages(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeFpgaImagesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeIamInstanceProfileAssociations(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeIamInstanceProfileAssociationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeInstanceCreditSpecifications(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeInstanceCreditSpecificationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeLaunchTemplateVersions(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeLaunchTemplateVersionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeLaunchTemplates(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeLaunchTemplatesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeNetworkInterfacePermissions(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeNetworkInterfacePermissionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describePrincipalIdFormat(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describePrincipalIdFormatAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeVolumesModifications(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeVolumesModificationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeVpcEndpointConnectionNotifications(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeVpcEndpointConnectionNotificationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeVpcEndpointConnections(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeVpcEndpointConnectionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeVpcEndpointServiceConfigurations(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeVpcEndpointServiceConfigurationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeVpcEndpointServicePermissions(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeVpcEndpointServicePermissionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disassociateIamInstanceProfile(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disassociateIamInstanceProfileAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disassociateSubnetCidrBlock(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disassociateSubnetCidrBlockAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disassociateVpcCidrBlock(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disassociateVpcCidrBlockAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getLaunchTemplateData(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getLaunchTemplateDataAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyFleet(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyFleetAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyFpgaImageAttribute(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyFpgaImageAttributeAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyInstanceCreditSpecification(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyInstanceCreditSpecificationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyLaunchTemplate(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyLaunchTemplateAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyVolume(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyVolumeAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyVpcEndpointConnectionNotification(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyVpcEndpointConnectionNotificationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyVpcEndpointServiceConfiguration(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyVpcEndpointServiceConfigurationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyVpcEndpointServicePermissions(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyVpcEndpointServicePermissionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyVpcTenancy(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyVpcTenancyAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result rejectVpcEndpointConnections(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise rejectVpcEndpointConnectionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result replaceIamInstanceProfileAssociation(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise replaceIamInstanceProfileAssociationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result resetFpgaImageAttribute(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise resetFpgaImageAttributeAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result unassignIpv6Addresses(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise unassignIpv6AddressesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result updateSecurityGroupRuleDescriptionsEgress(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise updateSecurityGroupRuleDescriptionsEgressAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result updateSecurityGroupRuleDescriptionsIngress(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise updateSecurityGroupRuleDescriptionsIngressAsync(array $args = []) (supported in versions 2016-11-15)
*/
class Ec2Client extends AwsClient
{
@@ -440,9 +565,16 @@ class Ec2Client extends AwsClient
{
$args['with_resolved'] = function (array $args) {
$this->getHandlerList()->appendInit(
CopySnapshotMiddleware::wrap(
PresignUrlMiddleware::wrap(
$this,
$args['endpoint_provider']
$args['endpoint_provider'],
[
'operations' => [
'CopySnapshot',
],
'service' => 'ec2',
'presign_param' => 'PresignedUrl',
]
),
'ec2.copy_snapshot'
);

View File

@@ -16,6 +16,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise completeLayerUploadAsync(array $args = [])
* @method \Aws\Result createRepository(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRepositoryAsync(array $args = [])
* @method \Aws\Result deleteLifecyclePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteLifecyclePolicyAsync(array $args = [])
* @method \Aws\Result deleteRepository(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRepositoryAsync(array $args = [])
* @method \Aws\Result deleteRepositoryPolicy(array $args = [])
@@ -28,6 +30,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getAuthorizationTokenAsync(array $args = [])
* @method \Aws\Result getDownloadUrlForLayer(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDownloadUrlForLayerAsync(array $args = [])
* @method \Aws\Result getLifecyclePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLifecyclePolicyAsync(array $args = [])
* @method \Aws\Result getLifecyclePolicyPreview(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLifecyclePolicyPreviewAsync(array $args = [])
* @method \Aws\Result getRepositoryPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRepositoryPolicyAsync(array $args = [])
* @method \Aws\Result initiateLayerUpload(array $args = [])
@@ -36,8 +42,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listImagesAsync(array $args = [])
* @method \Aws\Result putImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise putImageAsync(array $args = [])
* @method \Aws\Result putLifecyclePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putLifecyclePolicyAsync(array $args = [])
* @method \Aws\Result setRepositoryPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise setRepositoryPolicyAsync(array $args = [])
* @method \Aws\Result startLifecyclePolicyPreview(array $args = [])
* @method \GuzzleHttp\Promise\Promise startLifecyclePolicyPreviewAsync(array $args = [])
* @method \Aws\Result uploadLayerPart(array $args = [])
* @method \GuzzleHttp\Promise\Promise uploadLayerPartAsync(array $args = [])
*/

View File

@@ -10,6 +10,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = [])
* @method \Aws\Result createService(array $args = [])
* @method \GuzzleHttp\Promise\Promise createServiceAsync(array $args = [])
* @method \Aws\Result deleteAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAttributesAsync(array $args = [])
* @method \Aws\Result deleteCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = [])
* @method \Aws\Result deleteService(array $args = [])
@@ -30,6 +32,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeTasksAsync(array $args = [])
* @method \Aws\Result discoverPollEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise discoverPollEndpointAsync(array $args = [])
* @method \Aws\Result listAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAttributesAsync(array $args = [])
* @method \Aws\Result listClusters(array $args = [])
* @method \GuzzleHttp\Promise\Promise listClustersAsync(array $args = [])
* @method \Aws\Result listContainerInstances(array $args = [])
@@ -42,6 +46,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTaskDefinitionsAsync(array $args = [])
* @method \Aws\Result listTasks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTasksAsync(array $args = [])
* @method \Aws\Result putAttributes(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAttributesAsync(array $args = [])
* @method \Aws\Result registerContainerInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerContainerInstanceAsync(array $args = [])
* @method \Aws\Result registerTaskDefinition(array $args = [])
@@ -58,6 +64,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise submitTaskStateChangeAsync(array $args = [])
* @method \Aws\Result updateContainerAgent(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateContainerAgentAsync(array $args = [])
* @method \Aws\Result updateContainerInstancesState(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateContainerInstancesStateAsync(array $args = [])
* @method \Aws\Result updateService(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateServiceAsync(array $args = [])
*/

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