2018-09-14 17:57:46 -07:00
< ? php
2020-04-27 16:17:12 -07:00
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
2024-02-05 10:49:20 -07:00
2019-01-18 00:02:57 -08:00
// snippet-start:[cloudfront.php.listinvalidation.complete]
// snippet-start:[cloudfront.php.listinvalidation.import]
2018-09-14 17:57:46 -07:00
require 'vendor/autoload.php' ;
2024-02-05 10:49:20 -07:00
2018-09-14 17:57:46 -07:00
use Aws\Exception\AwsException ;
2024-02-05 10:49:20 -07:00
2019-01-18 00:02:57 -08:00
// snippet-end:[cloudfront.php.listinvalidation.import]
2024-02-05 10:49:20 -07:00
2020-04-27 16:17:12 -07:00
/* ////////////////////////////////////////////////////////////////////////////
* Purpose: Gets information about Amazon CloudFront distribution
* invalidations.
2018-09-14 17:57:46 -07:00
*
2020-04-27 16:17:12 -07:00
* Prerequisites: At least one existing Amazon CloudFront invalidation for the
* specified distribution.
*
* Inputs:
* - $cloudFrontClient: An initialized AWS SDK for PHP SDK client
* for CloudFront.
* - $distributionId: The ID of the distribution to get invalidation
* information about.
*
* Returns: Information about existing distribution invalidations; otherwise,
* the error message.
* ///////////////////////////////////////////////////////////////////////// */
2024-02-05 10:49:20 -07:00
2019-01-18 00:02:57 -08:00
// snippet-start:[cloudfront.php.listinvalidation.main]
2020-04-27 16:17:12 -07:00
function listInvalidations ( $cloudFrontClient , $distributionId )
{
try {
$result = $cloudFrontClient -> listInvalidations ([
'DistributionId' => $distributionId
]);
return $result ;
} catch ( AwsException $e ) {
exit ( 'Error: ' . $e -> getAwsErrorMessage ());
}
}
2024-02-05 10:49:20 -07:00
2020-04-27 16:17:12 -07:00
function listTheInvalidations ()
{
$distributionId = 'E1WICG1EXAMPLE' ;
2024-02-05 10:49:20 -07:00
2020-04-27 16:17:12 -07:00
$cloudFrontClient = new Aws\CloudFront\CloudFrontClient ([
'profile' => 'default' ,
'version' => '2018-06-18' ,
'region' => 'us-east-1'
2018-10-03 14:15:29 -07:00
]);
2024-02-05 10:49:20 -07:00
2020-04-27 16:17:12 -07:00
$invalidations = listInvalidations (
$cloudFrontClient ,
$distributionId
);
2024-02-05 10:49:20 -07:00
2020-04-27 16:17:12 -07:00
if ( isset ( $invalidations [ 'InvalidationList' ])) {
if ( $invalidations [ 'InvalidationList' ][ 'Quantity' ] > 0 ) {
foreach ( $invalidations [ 'InvalidationList' ][ 'Items' ] as $invalidation ) {
echo 'The invalidation with the ID of ' . $invalidation [ 'Id' ] .
' has the status of ' . $invalidation [ 'Status' ] . '.' . " \n " ;
}
} else {
echo 'Could not find any invalidations for the specified distribution.' ;
}
} else {
echo 'Error: Could not get invalidation information. Could not get ' .
'information about the specified distribution.' ;
}
2018-10-30 20:53:20 -07:00
}
2024-02-05 10:49:20 -07:00
2020-04-27 16:17:12 -07:00
// Uncomment the following line to run this code in an AWS account.
// listTheInvalidations();
2019-01-18 00:02:57 -08:00
// snippet-end:[cloudfront.php.listinvalidation.main]
// snippet-end:[cloudfront.php.listinvalidation.complete]
2020-04-27 16:17:12 -07:00
// snippet-sourceauthor:[pccornel (AWS)]