2018-10-11 15:00:23 -07:00
< ? php
2018-12-28 10:35:52 -08:00
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2018-10-11 15:00:23 -07:00
// SPDX-License-Identifier: Apache-2.0
2024-02-05 10:49:20 -07:00
2019-01-30 18:52:20 -08:00
// snippet-start:[cloudwatchevents.php.test_event_pattern.complete]
// snippet-start:[cloudwatchevents.php.test_event_pattern.import]
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
require 'vendor/autoload.php' ;
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
use Aws\Exception\AwsException ;
2024-02-05 10:49:20 -07:00
2019-01-30 18:52:20 -08:00
// snippet-end:[cloudwatchevents.php.test_event_pattern.import]
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
/**
* Test event pattern
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
2024-02-05 10:49:20 -07:00
2019-01-30 18:52:20 -08:00
// snippet-start:[cloudwatchevents.php.test_event_pattern.main]
$client = new Aws\cloudwatchevents\cloudwatcheventsClient ([
2018-10-11 15:00:23 -07:00
'profile' => 'default' ,
'region' => 'us-west-2' ,
'version' => '2015-10-07'
]);
2024-02-05 10:49:20 -07:00
2018-08-13 15:34:02 -07:00
$exampleEvent = '{
"version": "0",
"id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
"detail-type": "EC2 Instance State-change Notification",
"source": "aws.ec2",
"account": "111122223333",
"time": "2015-12-22T18:43:48Z",
"region": "us-east-2",
"resources": [
"arn:aws:ec2:us-east-2:123456789012:instance/i-12345678"
],
"detail": {
"instance-id": "i-12345678",
"state": "terminated"
}
2018-10-11 15:00:23 -07:00
}' ;
2024-02-05 10:49:20 -07:00
2018-08-13 15:34:02 -07:00
$exampleEventPattern = '{
"source": [ "aws.ec2" ],
"detail-type": [ "EC2 Instance State-change Notification" ],
"detail": {
"state": [ "terminated" ]
}
2018-10-11 15:00:23 -07:00
}' ;
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
try {
$result = $client -> testEventPattern ([
'Event' => $exampleEvent ,
'EventPattern' => $exampleEventPattern
]);
var_dump ( $result );
} catch ( AwsException $e ) {
// output error message if fails
error_log ( $e -> getMessage ());
}
2024-02-05 10:49:20 -07:00
2019-01-30 18:52:20 -08:00
// snippet-end:[cloudwatchevents.php.test_event_pattern.main]
// snippet-end:[cloudwatchevents.php.test_event_pattern.complete]