This commit is contained in:
Javier Casares 2026-08-18 07:00:18 +00:00
commit 77d0cea926
995 changed files with 28142 additions and 8603 deletions

View file

@ -1,5 +1,28 @@
== Changelog ==
= 2.1.7 =
_Release date: 2026-08-17_
**Changed**
* Plugin renamed to "SMTP Amazon SES (by ROBOTSTXT)".
* Plugin URI and update channel now point to https://www.robotstxt.software/plugins/robotstxt-smtp-amazonses/.
* Removed the built-in Gitea self-updater (`class-robotstxt-updater.php` and `update.json`); updates are now delivered through the Manager (by ROBOTSTXT) plugin. The required Manager notices are handled by the main SMTP plugin — this add-on does not duplicate them.
* Updated bundled AWS SDK for PHP to 3.392.3 (now shipping Guzzle 8).
**Compatibility**
* WordPress: 5.7 - 7.1
* PHP: 8.2 - 8.5
**Tests**
* PHP_CodeSniffer: 3.13.6
* WordPress Coding Standards: 3.4.1
* PHPCompatibility: 9.3.5
* PHPStan: 2.2.8
= 2.1.6 =
_Release date: 2026-06-09_

View file

@ -1,400 +0,0 @@
<?php
/**
* Generic JSON-based updater for ROBOTSTXT plugins.
*
* This file is designed to be copied to any ROBOTSTXT plugin.
* It auto-configures itself by reading the plugin headers.
*
* @package ROBOTSTXT
* @version 1.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'Robotstxt_Updater' ) ) {
/**
* Class Robotstxt_Updater
*
* Generic updater that works with any plugin.
* Reads plugin headers and constructs update URL automatically.
*/
class Robotstxt_Updater {
/**
* Plugin file path.
*
* @var string
*/
private string $plugin_file_path;
/**
* Plugin basename (e.g., 'my-plugin/my-plugin.php').
*
* @var string
*/
private string $plugin_basename;
/**
* Plugin slug (directory name).
*
* @var string
*/
private string $plugin_slug;
/**
* Remote JSON URL.
*
* @var string
*/
private string $json_url;
/**
* Cache key.
*
* @var string
*/
private string $cache_key;
/**
* Plugin headers.
*
* @var array<string, string|bool>
*/
private array $plugin_data;
/**
* Initialize the updater.
*
* Usage in your main plugin file:
* require_once __DIR__ . '/robotstxt-updater.php';
* Robotstxt_Updater::init( __FILE__ );
*
* @param string $plugin_file_path Absolute path to the main plugin file.
*/
public static function init( string $plugin_file_path ): void {
$instance = new self( $plugin_file_path );
$instance->register();
}
/**
* Constructor.
*
* @param string $plugin_file_path Absolute path to the main plugin file.
*/
private function __construct( string $plugin_file_path ) {
$this->plugin_file_path = $plugin_file_path;
$this->plugin_basename = plugin_basename( $plugin_file_path );
$this->plugin_slug = dirname( $this->plugin_basename );
$this->plugin_data = $this->get_plugin_data();
$this->json_url = $this->build_json_url();
$this->cache_key = 'robotstxt_updater_' . md5( $this->plugin_basename );
}
/**
* Register WordPress hooks.
*/
private function register(): void {
add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'inject_update_info' ) );
add_filter( 'plugins_api', array( $this, 'provide_plugin_details' ), 10, 3 );
add_action( 'admin_init', array( $this, 'handle_cache_clear' ) );
add_action( 'robotstxt_updater_clear_cache', array( $this, 'clear_cache' ) );
}
/**
* Get plugin headers.
*
* @return array<string, string|bool> Plugin data.
*/
private function get_plugin_data(): array {
if ( ! function_exists( 'get_plugin_data' ) ) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}
return get_plugin_data( $this->plugin_file_path, false, false );
}
/**
* Build JSON URL from plugin headers.
*
* Tries to use "Gitea Plugin URI" header to construct the URL.
* Falls back to Plugin URI if Gitea URI is not available.
*
* @return string JSON URL.
*/
private function build_json_url(): string {
// Try Gitea Plugin URI (format: "OWNER/REPO" or full URL).
$gitea_uri_raw = $this->plugin_data['Gitea Plugin URI'] ?? '';
if ( ! empty( $gitea_uri_raw ) && is_string( $gitea_uri_raw ) ) {
$gitea_uri = $gitea_uri_raw;
// If it's already a full URL, use it.
if ( str_starts_with( $gitea_uri, 'http' ) ) {
// Extract base URL and construct JSON path.
return rtrim( $gitea_uri, '/' ) . '/raw/branch/main/update.json';
}
// If it's in format "OWNER/REPO", construct full URL.
if ( preg_match( '#^[^/]+/[^/]+$#', $gitea_uri ) ) {
return "https://git.robotstxt.es/{$gitea_uri}/raw/branch/main/update.json";
}
}
// Fallback: try to extract from Plugin URI.
$plugin_uri_raw = $this->plugin_data['PluginURI'] ?? '';
if ( ! empty( $plugin_uri_raw ) && is_string( $plugin_uri_raw ) ) {
$plugin_uri = $plugin_uri_raw;
if ( str_contains( $plugin_uri, 'git.robotstxt.es' ) ) {
return rtrim( $plugin_uri, '/' ) . '/raw/branch/main/update.json';
}
}
// Last resort: construct from plugin slug.
return "https://git.robotstxt.es/ROBOTSTXT/{$this->plugin_slug}/raw/branch/main/update.json";
}
/**
* Inject update info into WP's plugin update transient.
*
* @param object|mixed $transient The update_plugins transient.
*
* @return object The modified transient.
*/
public function inject_update_info( $transient ) {
if ( ! $transient instanceof stdClass ) {
$transient = new stdClass();
}
if ( empty( $transient->checked ) || ! is_array( $transient->checked ) ) {
return $transient;
}
if ( empty( $transient->checked[ $this->plugin_basename ] ) ) {
return $transient;
}
$current_version_raw = $transient->checked[ $this->plugin_basename ] ?? '';
$current_version = is_string( $current_version_raw ) ? $current_version_raw : '';
$remote = $this->get_remote_data();
$remote_version = isset( $remote['version'] ) && is_string( $remote['version'] ) ? $remote['version'] : '';
$remote_download = isset( $remote['download_url'] ) && is_string( $remote['download_url'] ) ? $remote['download_url'] : '';
if ( '' === $remote_version || '' === $remote_download ) {
return $transient;
}
if ( ! $this->is_compatible( $remote ) ) {
return $transient;
}
if ( version_compare( $remote_version, $current_version, '>' ) ) {
$plugin_uri = $this->plugin_data['PluginURI'] ?? '';
$update = (object) array(
'slug' => isset( $remote['slug'] ) && is_string( $remote['slug'] ) ? $remote['slug'] : $this->plugin_slug,
'plugin' => $this->plugin_basename,
'new_version' => $remote_version,
'url' => isset( $remote['homepage'] ) && is_string( $remote['homepage'] ) ? $remote['homepage'] : ( is_string( $plugin_uri ) ? $plugin_uri : '' ),
'package' => $remote_download,
'tested' => isset( $remote['tested'] ) && is_string( $remote['tested'] ) ? $remote['tested'] : '',
'requires' => isset( $remote['requires'] ) && is_string( $remote['requires'] ) ? $remote['requires'] : '',
'requires_php' => isset( $remote['requires_php'] ) && is_string( $remote['requires_php'] ) ? $remote['requires_php'] : '',
);
$transient->response[ $this->plugin_basename ] = $update;
}
return $transient;
}
/**
* Provide "View details" modal content.
*
* @param false|object|array<string, mixed> $result The result object or array.
* @param string $action The type of information being requested.
* @param object $args Plugin API arguments.
*
* @return false|object|array<string, mixed>
*/
public function provide_plugin_details( $result, string $action, object $args ) {
if ( 'plugin_information' !== $action ) {
return $result;
}
if ( empty( $args->slug ) || $args->slug !== $this->plugin_slug ) {
return $result;
}
$remote = $this->get_remote_data();
$remote_version = isset( $remote['version'] ) && is_string( $remote['version'] ) ? $remote['version'] : '';
if ( '' === $remote_version ) {
return $result;
}
$pd_name = $this->plugin_data['Name'] ?? '';
$pd_author = $this->plugin_data['Author'] ?? '';
$pd_plugin_uri = $this->plugin_data['PluginURI'] ?? '';
$pd_description = $this->plugin_data['Description'] ?? '';
return (object) array(
'name' => isset( $remote['name'] ) && is_string( $remote['name'] ) ? $remote['name'] : ( is_string( $pd_name ) ? $pd_name : $this->plugin_slug ),
'slug' => isset( $remote['slug'] ) && is_string( $remote['slug'] ) ? $remote['slug'] : $this->plugin_slug,
'version' => $remote_version,
'author' => isset( $remote['author'] ) && is_string( $remote['author'] ) ? $remote['author'] : ( is_string( $pd_author ) ? $pd_author : '' ),
'homepage' => isset( $remote['homepage'] ) && is_string( $remote['homepage'] ) ? $remote['homepage'] : ( is_string( $pd_plugin_uri ) ? $pd_plugin_uri : '' ),
'requires' => isset( $remote['requires'] ) && is_string( $remote['requires'] ) ? $remote['requires'] : '',
'tested' => isset( $remote['tested'] ) && is_string( $remote['tested'] ) ? $remote['tested'] : '',
'requires_php' => isset( $remote['requires_php'] ) && is_string( $remote['requires_php'] ) ? $remote['requires_php'] : '',
'sections' => array(
'description' => isset( $remote['description'] ) && is_string( $remote['description'] ) ? $remote['description'] : ( is_string( $pd_description ) ? $pd_description : '' ),
'changelog' => isset( $remote['changelog'] ) && is_string( $remote['changelog'] ) ? $remote['changelog'] : '',
),
'download_link' => isset( $remote['download_url'] ) && is_string( $remote['download_url'] ) ? $remote['download_url'] : '',
);
}
/**
* Get remote data with caching and HMAC signature verification.
*
* @return array<string, mixed> Remote data.
*/
private function get_remote_data(): array {
$cached = get_site_transient( $this->cache_key );
// Verify HMAC signature if AUTH_SALT is defined and cache has signature.
if ( false !== $cached && defined( 'AUTH_SALT' ) && '' !== AUTH_SALT ) {
if ( is_array( $cached ) && isset( $cached['signature'], $cached['data'] ) ) {
$expected_sig = hash_hmac( 'sha256', $this->cache_key . wp_json_encode( $cached['data'] ), AUTH_SALT );
if ( hash_equals( $expected_sig, $cached['signature'] ) ) {
// Signature valid, return data.
return is_array( $cached['data'] ) ? $cached['data'] : array();
}
// Signature invalid, delete corrupted cache.
delete_site_transient( $this->cache_key );
$cached = false;
}
}
// If no valid cache, fetch fresh data.
if ( false === $cached ) {
$remote = $this->fetch_json();
// Store with HMAC signature if AUTH_SALT is available.
if ( defined( 'AUTH_SALT' ) && '' !== AUTH_SALT ) {
$remote_data = ! empty( $remote ) ? $remote : array();
$payload = array(
'data' => $remote_data,
'timestamp' => time(),
'signature' => hash_hmac( 'sha256', $this->cache_key . wp_json_encode( $remote_data ), AUTH_SALT ),
);
set_site_transient( $this->cache_key, $payload, 6 * HOUR_IN_SECONDS );
} else {
// Fallback to standard caching.
set_site_transient( $this->cache_key, ( ! empty( $remote ) ? $remote : array() ), 6 * HOUR_IN_SECONDS );
}
return $remote;
}
// Legacy cache format without signature (backward compatibility).
return is_array( $cached ) ? $cached : array();
}
/**
* Fetch JSON from remote URL.
*
* @return array<string, mixed> Decoded JSON data.
*/
private function fetch_json(): array {
$response = wp_remote_get(
$this->json_url,
array(
'timeout' => 10,
'headers' => array(
'Accept' => 'application/json',
),
)
);
if ( is_wp_error( $response ) ) {
return array();
}
$code = (int) wp_remote_retrieve_response_code( $response );
if ( $code < 200 || $code >= 300 ) {
return array();
}
$body = wp_remote_retrieve_body( $response );
$data = json_decode( $body, true );
return is_array( $data ) ? $data : array();
}
/**
* Check compatibility.
*
* @param array<string, mixed> $remote Remote data.
*
* @return bool True if compatible.
*/
private function is_compatible( array $remote ): bool {
$requires_php = isset( $remote['requires_php'] ) && is_string( $remote['requires_php'] ) ? $remote['requires_php'] : '';
if ( '' !== $requires_php ) {
if ( version_compare( PHP_VERSION, $requires_php, '<' ) ) {
return false;
}
}
$requires = isset( $remote['requires'] ) && is_string( $remote['requires'] ) ? $remote['requires'] : '';
if ( '' !== $requires ) {
if ( version_compare( get_bloginfo( 'version' ), $requires, '<' ) ) {
return false;
}
}
return true;
}
/**
* Handle manual cache clear via URL parameter.
*/
public function handle_cache_clear(): void {
// Check if this is a cache clear request first.
$clear_cache = filter_input( INPUT_GET, 'robotstxt_clear_update_cache', FILTER_UNSAFE_RAW );
if ( null === $clear_cache ) {
return;
}
// This is a cache clear request - now verify nonce.
$nonce_raw = filter_input( INPUT_GET, '_wpnonce', FILTER_UNSAFE_RAW );
$nonce = $nonce_raw ? sanitize_text_field( wp_unslash( $nonce_raw ) ) : '';
if ( ! wp_verify_nonce( $nonce, 'robotstxt_clear_update_cache' ) ) {
wp_die( esc_html__( 'Security check failed', 'robotstxt-smtp-amazonses' ) );
}
// Check permissions.
if ( ! current_user_can( 'update_plugins' ) ) {
wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'robotstxt-smtp-amazonses' ) );
}
$this->clear_cache();
wp_safe_redirect( remove_query_arg( array( 'robotstxt_clear_update_cache', '_wpnonce' ) ) );
exit;
}
/**
* Clear update cache.
*/
public function clear_cache(): void {
delete_site_transient( $this->cache_key );
delete_site_transient( 'update_plugins' );
}
}
}

View file

@ -1,151 +0,0 @@
# Pre-Deploy AI Audit — v2.1.6
**Plugin slug:** robotstxt-smtp-amazonses
**Version:** 2.1.6
**Minimum PHP:** 8.2
**Minimum WP:** 5.7
**Architecture:** Single-class OOP, namespace `Robotstxt_SMTP_AmazonSES`
**Exposes:** AJAX-style admin-post handlers, Settings API filter, WP-Cron hook
**Target:** Private / commercial
**Audit scope:** Full diff from 5ee811d (initial tooling commit) to HEAD — covers all changes introduced in this session.
---
## 1. SECURITY
### 1.1 handle_clear_credential() — new in 2.1.6
- **File:** `includes/class-plugin.php:1793`
- **Nonce:** `wp_verify_nonce()` with GET input via `wp_unslash()`. ✓
- **Capability:** `current_user_can('manage_options')` / `manage_network_options` based on scope. ✓
- **Scope validation:** `sanitize_key(wp_unslash($scope_raw))` before comparison. ✓
- **Redirect:** `wp_safe_redirect(add_query_arg([...], admin_url('admin.php')))` — both `$page_slug` and `$cleared_key` are hardcoded literals, not from user input. ✓
- **Option update:** uses `update_option()` / `update_site_option()` (WordPress API). ✓
- **ABSPATH guard:** present in main file. ✓
### 1.2 display_clear_key_notice() — new in 2.1.6
- **File:** `includes/class-plugin.php:1861`
- `FILTER_UNSAFE_RAW` used to read `robotstxt_smtp_amazonses_cleared`. Value is checked with strict equality (`'access_key'` / `'secret_key'`) before any output. Output escaped with `esc_html()`. No XSS path. ✓
- Notice only rendered when `get_current_screen()->id` contains `'robotstxt-smtp'`. ✓
### 1.3 Credential validation change (2.1.5)
- **File:** `includes/class-plugin.php:14731537`
- Blocking only on `InvalidClientTokenId`, `SignatureDoesNotMatch`, `InvalidAccessKeyId` — correct. AWS authentication errors that definitively prove wrong credentials.
- All other `AwsException` errors (wrong region, missing IAM permission) and `Throwable` errors (network) now allow saving. `unset($exception)` used to satisfy PHPCS empty-catch requirement. ✓
- No sensitive data exposed in error messages — access key masked in debug context. ✓
### 1.4 Reply-to clearing (2.1.5)
- **File:** `includes/class-plugin.php:1269`
- `sanitize_email(trim($options['reply_to_email']))` before setting to empty. ✓
- Only acts when key `reply_to_email` exists in submitted `$options`. ✓
### 1.5 Dependency check / missing parent notice (2.1.5)
- **File:** `robotstxt-smtp-amazonses.php:82`
- Pure output using `esc_html__()`. No user input read. ✓
- Registered on `admin_notices` and `network_admin_notices` only when parent class is absent. ✓
### 1.6 Previously existing code — no regressions found
- All form field renders use `esc_attr()` / `esc_html_e()`. ✓
- `wp_nonce_field()` / `check_admin_referer()` not needed here (Settings API handles nonces for save; admin-post handlers use `wp_verify_nonce()`). ✓
- No `eval()`, `base64_decode()`, `system()`, `exec()`, `unserialize()`, `extract()`. ✓
- Direct file access prevention on all PHP files. ✓
---
## 2. ROBUSTNESS & FATAL ERRORS
- `handle_clear_credential()` sets `$this->clearing_field` before `add_filter()` and unconditionally clears it after `update_option()`. If `update_option()` fails (returns false, does not throw), the priority-11 filter is still removed. No filter leak risk. ✓
- `force_clear_credential()` only acts when `$this->clearing_field !== null`. Safe to call even if left registered by accident. ✓
- All new code requires PHP 8.2 (`?string` property type). Declared minimum matches. ✓
- `plugin_loaded` → dependency check → class file included → `run()`: no class can be called before it's required. ✓
- `load_plugin_textdomain()` registered on `init` from main file (not from class), so it fires even when parent plugin is absent and the notice needs translating. ✓
---
## 3. COMPATIBILITY & CONFLICTS
- Multisite: both `get_site_option()` / `update_site_option()` and `get_option()` / `update_option()` paths implemented. `is_network_admin()` used for scope detection in field render, mirroring the parent plugin's password-clear pattern. ✓
- No assumptions about sidebars, widgets, or block themes. ✓
- `Requires Plugins: robotstxt-smtp` header enforced by WP 6.5+; PHP-level fallback added for WP 5.76.4. ✓
---
## 4. WORDPRESS CODING STANDARDS
- All new functions prefixed with `robotstxt_smtp_amazonses_`. ✓
- All new methods documented with `@since 2.1.6`. ✓
- No logic in constructor. ✓
- PHPCS passes with zero errors. ✓
---
## 5. INTERNATIONALIZATION
- `load_plugin_textdomain()` on `init`. ✓
- `.pot` regenerated with `wp i18n make-pot` (WP-CLI 2.12.0). ✓
- `es_ES` and `ca` translations complete: all new strings translated, fuzzy entries resolved. ✓
- Textdomain literal string `'robotstxt-smtp-amazonses'` — no variables. ✓
---
## 6. PERFORMANCE
- No N+1 queries introduced. ✓
- `delete_site_transient(get_quota_cache_key())` called after credential clear — avoids stale quota display. ✓
- `$client_cache` keyed by `md5(access_key|secret_key|region)` — SES clients re-used within a request. ✓
- All new admin-post handlers exit early on scope/nonce/capability failure before touching the DB. ✓
---
## 7. DATABASE & MIGRATIONS
- No custom tables. All data in parent plugin's option. ✓
- `uninstall.php` delegates to parent plugin. ✓
---
## 8. ASSETS & FRONTEND
- No JS or CSS added. ✓
- Clear buttons render as `<a class="button button-secondary">` — standard WP admin styling, no inline script. ✓
- `esc_url(wp_nonce_url(...))` used for button href. ✓
---
## 9. DEVOPS / RELEASE ARTIFACTS
- Version consistent across plugin header, `ROBOTSTXT_SMTP_AMAZONSES_VERSION`, `readme.txt`, `update.json`. ✓
- `Stable tag` matches `Version`. ✓
- `changelog.txt` and `readme.txt` follow template (date, categories, Compatibility, Tests). ✓
- `composer audit` — no CVEs. ✓
- `bin/deploy.sh` excludes dev files, phpstan config, composer.json/lock, `.claude/`, `.git`. ✓
---
## 10. PUBLIC API & BACKWARD COMPATIBILITY
- New public methods: `handle_clear_access_key()`, `handle_clear_secret_key()`, `force_clear_credential()`, `display_clear_key_notice()`, `get_cached_ses_quota()`. All additive, no removals. ✓
- `get_quota_cache_key()` remains public static — parent plugin accesses it. ✓
- No changes to filter/action signatures. ✓
- Removed: `apply_ses_quota_to_rate_limits()` — was unused private method. ✓
---
## WARNINGS
- **[WARNING] RESOLVED** `includes/class-plugin.php:1873``FILTER_UNSAFE_RAW` changed to `FILTER_SANITIZE_SPECIAL_CHARS` + `sanitize_key()` for the `robotstxt_smtp_amazonses_cleared` query parameter.
---
## FINAL EXECUTIVE SUMMARY
1. **Overall status:** ✅ PASS
2. **Top mandatory fixes before tagging:** None. All [CRITICAL] issues: 0.
3. **Estimated security risk:** Low.
4. **Version recommendation:** Safe to mark as stable.

View file

@ -1,108 +0,0 @@
# PRE-DEPLOY CHECKLIST — Version 2.1.6
═══════════════════════════════════════════════════════════════
PRE-DEPLOY CHECKLIST — Version 2.1.6
═══════════════════════════════════════════════════════════════
INPUT VALIDATION
[x] Empty field validation performed
[x] Length limits validated server-side
[x] Format patterns validated (regex, ctype_alnum, preg_match)
[x] Safelist validation used for finite option sets — scope param uses sanitize_key() + strict equality
[x] Strict type checking used (===, in_array with true parameter)
[x] Validation performed BEFORE any action or processing
[x] Helper functions used: is_email(), sanitize_key()
INPUT SANITIZATION
[x] sanitize_text_field() for single-line text — credentials
[x] sanitize_textarea_field() for multi-line text — n/a
[x] sanitize_email() for email addresses — reply_to_email
[x] sanitize_key() for keys/identifiers — scope, cleared_key params
[x] sanitize_url() for URLs — n/a (no URL inputs)
[x] sanitize_file_name() for filenames — n/a
[x] wp_kses() / wp_kses_post() for HTML content — n/a
OUTPUT ESCAPING (Escape Late)
[x] esc_html() for HTML element content
[x] esc_attr() for HTML attributes — field names, placeholder text
[x] esc_url() for all URLs (src, href) — wp_nonce_url() output + esc_url()
[x] esc_js() for inline JavaScript — n/a
[x] Combined i18n+escape functions (esc_html__(), esc_attr_e())
[x] Escaping performed at output time, not before storage
CSRF PROTECTION (Nonces)
[x] wp_nonce_url() used for clear credential action links
[x] wp_verify_nonce() verifies the clear credential handlers (GET via admin-post.php)
[x] Nonce action strings are specific ('robotstxt_smtp_amazonses_clear_access_key', 'robotstxt_smtp_amazonses_clear_secret_key')
[x] Nonces NOT relied upon for authentication/authorization — capability checks are separate
DATABASE SECURITY
[x] WordPress API functions used — update_option(), update_site_option(), get_option(), get_site_option()
[x] No custom SQL queries
[x] No direct $_POST/$_GET interpolation in DB operations
CAPABILITY CHECKS
[x] current_user_can() on every admin action — handle_clear_credential() checks manage_options / manage_network_options
[x] current_user_can() on every AJAX/admin-post handler
[x] Capability checks in execution logic (reject if no permission — wp_die())
[x] Appropriate capability selected
FILE OPERATIONS
[x] Direct file access prevention on all PHP files (ABSPATH guard)
DANGEROUS FUNCTIONS
[x] No eval() usage
[x] No suspicious base64_decode()
[x] No system(), exec(), shell_exec(), passthru()
[x] No create_function() (use anonymous functions)
[x] No extract() on untrusted data
[x] No unserialize() on untrusted data
CODE QUALITY & STANDARDS
[x] PHPCS passes with zero errors (WordPress-Core, WordPress-Docs, WordPress-Extra)
[x] PHPStan level 9 passes with zero errors on all modified files
[x] PHPCompatibility scan run — 8.2-8.5 PASSED
[x] Minimum PHP version in headers reflects real lowest compatible version (8.2 — AWS SDK)
[x] All user-facing strings use translation functions (textdomain = 'robotstxt-smtp-amazonses')
[x] phpDoc added for all new public methods/hooks with @since 2.1.6
DEBUG & TESTING
[x] Browser console — no new JS introduced
[x] composer audit — no CVEs found
[x] No PHP notices, warnings, or deprecated messages expected
VERSIONING & DOCUMENTATION
[x] Plugin version bumped in main plugin file header — 2.1.6
[x] CHANGELOG.md / changelog.txt updated
[x] readme.txt updated — last 3 versions shown (2.1.4, 2.1.5, 2.1.6)
[x] Stable tag in readme.txt matches Version in plugin header — both 2.1.6
[x] Required headers present, forbidden headers absent
[x] update.json version and download_url updated
DATABASE & UNINSTALL
[x] No DB schema changes in this version
[x] uninstall.php delegates to parent plugin
AI AUDIT
[x] Pre-deploy AI audit executed — docs/audit-pre-deploy-2.1.6.md
[x] All [CRITICAL] findings resolved — none found
[x] [WARNING] finding documented and resolved (FILTER_UNSAFE_RAW → FILTER_SANITIZE_SPECIAL_CHARS + sanitize_key)
[x] Executive summary: PASS
[x] Security risk assessed as: Low
BUILD & ARTIFACT
[x] deploy.sh executed manually
[x] ZIP generated in parent directory (wp-content/plugins/)
[x] ZIP excludes: vendor/ dev deps, tests, CI config, .git, phpstan.neon, composer.json, CLAUDE.md, AGENTS.md
[x] Production dependencies bundled (AWS SDK + runtime deps only)
[x] License compatibility verified — GPLv3, AWS SDK Apache-2.0 (GPL-compatible)
═══════════════════════════════════════════════════════════════
DEPLOY AUTHORIZATION
═══════════════════════════════════════════════════════════════
All [CRITICAL] items resolved: YES
Executive summary status: PASS
Security risk level: Low
Manual approval confirmed: [x] YES
═══════════════════════════════════════════════════════════════

View file

@ -1,10 +1,10 @@
msgid ""
msgstr ""
"Project-Id-Version: SMTP (by ROBOTSTXT) Amazon SES\n"
"Project-Id-Version: SMTP Amazon SES (by ROBOTSTXT) 2.1.7\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/robotstxt-smtp-"
"amazonses\n"
"POT-Creation-Date: 2026-06-09T12:37:13+00:00\n"
"PO-Revision-Date: 2026-01-29 09:30+0100\n"
"POT-Creation-Date: 2026-08-17T20:18:50+00:00\n"
"PO-Revision-Date: 2026-08-17 19:30+0000\n"
"Last-Translator: ROBOTSTXT <robotstxt@robotstxt.es>\n"
"Language-Team: Catalan\n"
"Language: ca\n"
@ -16,18 +16,20 @@ msgstr ""
#. Plugin Name of the plugin
#: robotstxt-smtp-amazonses.php
msgid "SMTP (by ROBOTSTXT) Amazon SES"
msgstr "SMTP (by ROBOTSTXT) Amazon SES"
msgid "SMTP Amazon SES (by ROBOTSTXT)"
msgstr "SMTP Amazon SES (by ROBOTSTXT)"
#. Plugin URI of the plugin
#: robotstxt-smtp-amazonses.php
msgid "https://git.robotstxt.es/ROBOTSTXT/robotstxt-smtp-amazonses"
msgid "https://www.robotstxt.software/plugins/robotstxt-smtp-amazonses/"
msgstr ""
#. Description of the plugin
#: robotstxt-smtp-amazonses.php
msgid "Adds Amazon SES configuration support to the ROBOTSTXT SMTP plugin."
msgstr "Afegeix suport de configuració d'Amazon SES al plugin ROBOTSTXT SMTP."
msgstr ""
"Afegeix suport de configuració d'Amazon SES al complement SMTP (by "
"ROBOTSTXT)."
#. Author of the plugin
#: robotstxt-smtp-amazonses.php
@ -36,18 +38,9 @@ msgstr "ROBOTSTXT"
#. Author URI of the plugin
#: robotstxt-smtp-amazonses.php
msgid "https://www.robotstxt.es/"
msgid "https://www.robotstxt.software/"
msgstr ""
#: class-robotstxt-updater.php:379
msgid "Security check failed"
msgstr "Ha fallat la comprovació de seguretat"
#: class-robotstxt-updater.php:384 includes/class-plugin.php:932
#: includes/class-plugin.php:1807
msgid "You do not have sufficient permissions to access this page."
msgstr "No tens permisos suficients per accedir a aquesta pàgina."
#: includes/class-plugin.php:163
msgid "Amazon SES could not send the email because no recipient was provided."
msgstr ""
@ -118,6 +111,10 @@ msgstr "Amazon SES no ha pogut incloure l'adjunt: %s"
msgid "Security check failed."
msgstr "Ha fallat la comprovació de seguretat."
#: includes/class-plugin.php:932 includes/class-plugin.php:1807
msgid "You do not have sufficient permissions to access this page."
msgstr "No tens permisos suficients per accedir a aquesta pàgina."
#: includes/class-plugin.php:945
msgid "Amazon SES quotas refreshed successfully."
msgstr "Quotes d'Amazon SES actualitzades correctament."
@ -352,41 +349,18 @@ msgstr "Ha fallat en obtenir la quota de SES: %s"
msgid "The link you followed has expired."
msgstr "L'enllaç que has seguit ha caducat."
#: includes/class-plugin.php:1884
#: includes/class-plugin.php:1885
msgid "The Amazon SES Access Key ID has been cleared."
msgstr "L'ID de clau d'accés d'Amazon SES s'ha eliminat."
#: includes/class-plugin.php:1886
#: includes/class-plugin.php:1887
msgid "The Amazon SES Secret Access Key has been cleared."
msgstr "La clau d'accés secreta d'Amazon SES s'ha eliminat."
#: robotstxt-smtp-amazonses.php:85
#: robotstxt-smtp-amazonses.php:83
msgid ""
"SMTP (by ROBOTSTXT) Amazon SES requires the SMTP (by ROBOTSTXT) plugin to be "
"SMTP Amazon SES (by ROBOTSTXT) requires the SMTP (by ROBOTSTXT) plugin to be "
"installed and active."
msgstr ""
"SMTP (by ROBOTSTXT) Amazon SES requereix que el connector SMTP (by "
"SMTP Amazon SES (by ROBOTSTXT) requereix que el complement SMTP (by "
"ROBOTSTXT) estigui instal·lat i actiu."
#~ msgid "From Email"
#~ msgstr "Email remitent"
#~ msgid "From Name"
#~ msgstr "Nom remitent"
#~ msgid "Reply-To Email"
#~ msgstr "Email de resposta"
#~ msgid "Reply-To Name"
#~ msgstr "Nom de resposta"
#, php-format
#~ msgid "Could not verify Amazon SES credentials: %s"
#~ msgstr "No s'han pogut verificar les credencials d'Amazon SES: %s"
#, php-format
#~ msgid ""
#~ "An unexpected error occurred while validating Amazon SES credentials: %s"
#~ msgstr ""
#~ "S'ha produït un error inesperat en validar les credencials d'Amazon SES: "
#~ "%s"

View file

@ -1,10 +1,10 @@
msgid ""
msgstr ""
"Project-Id-Version: SMTP (by ROBOTSTXT) Amazon SES\n"
"Project-Id-Version: SMTP Amazon SES (by ROBOTSTXT) 2.1.7\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/robotstxt-smtp-"
"amazonses\n"
"POT-Creation-Date: 2026-06-09T12:37:13+00:00\n"
"PO-Revision-Date: 2026-01-29 09:30+0100\n"
"POT-Creation-Date: 2026-08-17T20:18:50+00:00\n"
"PO-Revision-Date: 2026-08-17 19:30+0000\n"
"Last-Translator: ROBOTSTXT <robotstxt@robotstxt.es>\n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@ -16,18 +16,19 @@ msgstr ""
#. Plugin Name of the plugin
#: robotstxt-smtp-amazonses.php
msgid "SMTP (by ROBOTSTXT) Amazon SES"
msgstr "SMTP (by ROBOTSTXT) Amazon SES"
msgid "SMTP Amazon SES (by ROBOTSTXT)"
msgstr "SMTP Amazon SES (by ROBOTSTXT)"
#. Plugin URI of the plugin
#: robotstxt-smtp-amazonses.php
msgid "https://git.robotstxt.es/ROBOTSTXT/robotstxt-smtp-amazonses"
msgid "https://www.robotstxt.software/plugins/robotstxt-smtp-amazonses/"
msgstr ""
#. Description of the plugin
#: robotstxt-smtp-amazonses.php
msgid "Adds Amazon SES configuration support to the ROBOTSTXT SMTP plugin."
msgstr "Añade soporte de configuración de Amazon SES al plugin ROBOTSTXT SMTP."
msgstr ""
"Añade soporte de configuración de Amazon SES al plugin SMTP (by ROBOTSTXT)."
#. Author of the plugin
#: robotstxt-smtp-amazonses.php
@ -36,18 +37,9 @@ msgstr "ROBOTSTXT"
#. Author URI of the plugin
#: robotstxt-smtp-amazonses.php
msgid "https://www.robotstxt.es/"
msgid "https://www.robotstxt.software/"
msgstr ""
#: class-robotstxt-updater.php:379
msgid "Security check failed"
msgstr "Falló la comprobación de seguridad"
#: class-robotstxt-updater.php:384 includes/class-plugin.php:932
#: includes/class-plugin.php:1807
msgid "You do not have sufficient permissions to access this page."
msgstr "No tienes permisos suficientes para acceder a esta página."
#: includes/class-plugin.php:163
msgid "Amazon SES could not send the email because no recipient was provided."
msgstr ""
@ -118,6 +110,10 @@ msgstr "Amazon SES no pudo incluir el adjunto: %s"
msgid "Security check failed."
msgstr "Falló la comprobación de seguridad."
#: includes/class-plugin.php:932 includes/class-plugin.php:1807
msgid "You do not have sufficient permissions to access this page."
msgstr "No tienes permisos suficientes para acceder a esta página."
#: includes/class-plugin.php:945
msgid "Amazon SES quotas refreshed successfully."
msgstr "Cuotas de Amazon SES actualizadas correctamente."
@ -352,40 +348,18 @@ msgstr "Falló al obtener la cuota de SES: %s"
msgid "The link you followed has expired."
msgstr "El enlace que has seguido ha caducado."
#: includes/class-plugin.php:1884
#: includes/class-plugin.php:1885
msgid "The Amazon SES Access Key ID has been cleared."
msgstr "El ID de clave de acceso de Amazon SES se ha eliminado."
#: includes/class-plugin.php:1886
#: includes/class-plugin.php:1887
msgid "The Amazon SES Secret Access Key has been cleared."
msgstr "La clave de acceso secreta de Amazon SES se ha eliminado."
#: robotstxt-smtp-amazonses.php:85
#: robotstxt-smtp-amazonses.php:83
msgid ""
"SMTP (by ROBOTSTXT) Amazon SES requires the SMTP (by ROBOTSTXT) plugin to be "
"SMTP Amazon SES (by ROBOTSTXT) requires the SMTP (by ROBOTSTXT) plugin to be "
"installed and active."
msgstr ""
"SMTP (by ROBOTSTXT) Amazon SES requiere que el plugin SMTP (by ROBOTSTXT) "
"SMTP Amazon SES (by ROBOTSTXT) requiere que el plugin SMTP (by ROBOTSTXT) "
"esté instalado y activo."
#~ msgid "From Email"
#~ msgstr "Email remitente"
#~ msgid "From Name"
#~ msgstr "Nombre remitente"
#~ msgid "Reply-To Email"
#~ msgstr "Email de respuesta"
#~ msgid "Reply-To Name"
#~ msgstr "Nombre de respuesta"
#, php-format
#~ msgid "Could not verify Amazon SES credentials: %s"
#~ msgstr "No se pudieron verificar las credenciales de Amazon SES: %s"
#, php-format
#~ msgid ""
#~ "An unexpected error occurred while validating Amazon SES credentials: %s"
#~ msgstr ""
#~ "Ocurrió un error inesperado al validar las credenciales de Amazon SES: %s"

View file

@ -1,25 +1,27 @@
# Copyright (C) 2026 ROBOTSTXT
# This file is distributed under the GPL-3.0-or-later.
msgid ""
msgstr ""
"Project-Id-Version: SMTP (by ROBOTSTXT) Amazon SES 2.1.6\n"
"Project-Id-Version: SMTP Amazon SES (by ROBOTSTXT) 2.1.7\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/robotstxt-smtp-amazonses\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2026-06-09T12:37:13+00:00\n"
"POT-Creation-Date: 2026-08-17T20:18:50+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: robotstxt-smtp-amazonses\n"
#. Plugin Name of the plugin
#: robotstxt-smtp-amazonses.php
msgid "SMTP (by ROBOTSTXT) Amazon SES"
msgid "SMTP Amazon SES (by ROBOTSTXT)"
msgstr ""
#. Plugin URI of the plugin
#: robotstxt-smtp-amazonses.php
msgid "https://git.robotstxt.es/ROBOTSTXT/robotstxt-smtp-amazonses"
msgid "https://www.robotstxt.software/plugins/robotstxt-smtp-amazonses/"
msgstr ""
#. Description of the plugin
@ -34,17 +36,7 @@ msgstr ""
#. Author URI of the plugin
#: robotstxt-smtp-amazonses.php
msgid "https://www.robotstxt.es/"
msgstr ""
#: class-robotstxt-updater.php:379
msgid "Security check failed"
msgstr ""
#: class-robotstxt-updater.php:384
#: includes/class-plugin.php:932
#: includes/class-plugin.php:1807
msgid "You do not have sufficient permissions to access this page."
msgid "https://www.robotstxt.software/"
msgstr ""
#: includes/class-plugin.php:163
@ -115,6 +107,11 @@ msgstr ""
msgid "Security check failed."
msgstr ""
#: includes/class-plugin.php:932
#: includes/class-plugin.php:1807
msgid "You do not have sufficient permissions to access this page."
msgstr ""
#: includes/class-plugin.php:945
msgid "Amazon SES quotas refreshed successfully."
msgstr ""
@ -334,14 +331,14 @@ msgstr ""
msgid "The link you followed has expired."
msgstr ""
#: includes/class-plugin.php:1884
#: includes/class-plugin.php:1885
msgid "The Amazon SES Access Key ID has been cleared."
msgstr ""
#: includes/class-plugin.php:1886
#: includes/class-plugin.php:1887
msgid "The Amazon SES Secret Access Key has been cleared."
msgstr ""
#: robotstxt-smtp-amazonses.php:85
msgid "SMTP (by ROBOTSTXT) Amazon SES requires the SMTP (by ROBOTSTXT) plugin to be installed and active."
#: robotstxt-smtp-amazonses.php:83
msgid "SMTP Amazon SES (by ROBOTSTXT) requires the SMTP (by ROBOTSTXT) plugin to be installed and active."
msgstr ""

View file

@ -1,11 +1,11 @@
=== SMTP (by ROBOTSTXT) Amazon SES ===
Contributors: javiercasares
=== SMTP Amazon SES (by ROBOTSTXT) ===
Contributors: robotstxt, javiercasares
Tags: amazon-ses, smtp, email, mail
Requires at least: 5.7
Tested up to: 7.1
Stable tag: 2.1.6
Stable tag: 2.1.7
Requires PHP: 8.2
Version: 2.1.6
Version: 2.1.7
License: GPL-3.0-or-later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
@ -13,7 +13,7 @@ This private add-on connects the ROBOTSTXT SMTP plugin with Amazon Simple Email
== Description ==
SMTP (by ROBOTSTXT) Amazon SES extends the core ROBOTSTXT SMTP plugin with a first-class Amazon SES transport. Configure the IAM credentials and region once to deliver transactional email securely and reliably through your AWS account. The extension keeps the familiar SMTP plugin interface while enforcing WordPress security best practices, validating credentials, and handling mail routing transparently.
SMTP Amazon SES (by ROBOTSTXT) extends the core ROBOTSTXT SMTP plugin with a first-class Amazon SES transport. Configure the IAM credentials and region once to deliver transactional email securely and reliably through your AWS account. The extension keeps the familiar SMTP plugin interface while enforcing WordPress security best practices, validating credentials, and handling mail routing transparently.
= Key features =
@ -44,6 +44,10 @@ The plugin validates Amazon SES credentials during saving to prevent misconfigur
Yes. Network administrators can manage credentials centrally or allow individual sites to configure their own Amazon SES connection.
= How do I get updates for this plugin? =
Updates are delivered through the **Manager (by ROBOTSTXT)** plugin. The main SMTP (by ROBOTSTXT) plugin shows a notice when it is not installed and active: [Manager (by ROBOTSTXT)](https://www.robotstxt.software/plugins/robotstxt-manager/).
== Compatibility ==
* WordPress: 5.7 - 7.1
@ -53,6 +57,29 @@ Yes. Network administrators can manage credentials centrally or allow individual
Only the 3 last versions. The full changelog will be at changelog.txt
= 2.1.7 =
_Release date: 2026-08-17_
**Changed**
* Plugin renamed to "SMTP Amazon SES (by ROBOTSTXT)".
* Plugin URI now points to https://www.robotstxt.software/plugins/robotstxt-smtp-amazonses/.
* Removed the built-in Gitea self-updater; updates are now delivered through the Manager (by ROBOTSTXT) plugin. The required Manager notices are handled by the main SMTP plugin.
* Updated bundled AWS SDK for PHP to 3.392.3 (now shipping Guzzle 8).
**Compatibility**
* WordPress: 5.7 - 7.1
* PHP: 8.2 - 8.5
**Tests**
* PHP_CodeSniffer: 3.13.6
* WordPress Coding Standards: 3.4.1
* PHPCompatibility: 9.3.5
* PHPStan: 2.2.8
= 2.1.6 =
_Release date: 2026-06-09_
@ -98,29 +125,9 @@ _Release date: 2026-06-09_
* PHPCompatibility: 9.3.5
* PHPStan: 2.2.2
= 2.1.4 =
_Release date: 2026-06-09_
**Changed**
* Minimum WordPress version lowered from 6.5 to 5.7, reflecting the actual code minimum verified by static analysis.
**Compatibility**
* WordPress: 5.7 - 7.1
* PHP: 8.2 - 8.5
**Tests**
* PHP_CodeSniffer: 3.13.5
* WordPress Coding Standards: 3.3.0
* PHPCompatibility: 9.3.5
* PHPStan: 2.2.2
= Previous versions =
If you want to see the full changelog, visit the [changelog.txt](https://git.robotstxt.es/ROBOTSTXT/robotstxt-smtp-amazonses/raw/branch/main/changelog.txt) file.
If you want to see the full changelog, visit the [changelog](https://www.robotstxt.software/plugins/robotstxt-smtp-amazonses/) page.
== Compliance ==

View file

@ -1,22 +1,20 @@
<?php
/**
* Plugin Name: SMTP (by ROBOTSTXT) Amazon SES
* Plugin URI: https://git.robotstxt.es/ROBOTSTXT/robotstxt-smtp-amazonses
* Plugin Name: SMTP Amazon SES (by ROBOTSTXT)
* Plugin URI: https://www.robotstxt.software/plugins/robotstxt-smtp-amazonses/
* Description: Adds Amazon SES configuration support to the ROBOTSTXT SMTP plugin.
* Version: 2.1.6
* Version: 2.1.7
* Requires at least: 5.7
* Requires PHP: 8.2
* Network: true
* Security: robotstxt@robotstxt.es
* Author: ROBOTSTXT
* Author URI: https://www.robotstxt.es/
* Author URI: https://www.robotstxt.software/
* Text Domain: robotstxt-smtp-amazonses
* Requires Plugins: robotstxt-smtp
* Domain Path: /languages
* License: GPL-3.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-3.0.html
* Gitea Plugin URI: https://git.robotstxt.es/ROBOTSTXT/robotstxt-smtp-amazonses
* Primary Branch: main
*
* @package Robotstxt_SMTP_AmazonSES
*/
@ -26,7 +24,7 @@ if ( ! defined( 'ABSPATH' ) ) {
}
if ( ! defined( 'ROBOTSTXT_SMTP_AMAZONSES_VERSION' ) ) {
define( 'ROBOTSTXT_SMTP_AMAZONSES_VERSION', '2.1.6' );
define( 'ROBOTSTXT_SMTP_AMAZONSES_VERSION', '2.1.7' );
}
if ( ! defined( 'ROBOTSTXT_SMTP_AMAZONSES_FILE' ) ) {
@ -82,7 +80,7 @@ function robotstxt_smtp_amazonses_load_textdomain(): void {
function robotstxt_smtp_amazonses_missing_parent_notice(): void {
printf(
'<div class="notice notice-error is-dismissible"><p>%s</p></div>',
\esc_html__( 'SMTP (by ROBOTSTXT) Amazon SES requires the SMTP (by ROBOTSTXT) plugin to be installed and active.', 'robotstxt-smtp-amazonses' )
\esc_html__( 'SMTP Amazon SES (by ROBOTSTXT) requires the SMTP (by ROBOTSTXT) plugin to be installed and active.', 'robotstxt-smtp-amazonses' )
);
}
@ -100,7 +98,3 @@ function robotstxt_smtp_amazonses_missing_parent_notice(): void {
\Robotstxt_SMTP_AmazonSES\Plugin::get_instance()->run();
}
);
// Initialize ROBOTSTXT updater (does not depend on the parent plugin).
require_once __DIR__ . '/class-robotstxt-updater.php';
Robotstxt_Updater::init( __FILE__ );

View file

@ -1,28 +0,0 @@
{
"name": "SMTP (by ROBOTSTXT) Amazon SES",
"slug": "robotstxt-smtp-amazonses",
"version": "2.1.6",
"download_url": "https://git.robotstxt.es/ROBOTSTXT/robotstxt-smtp-amazonses/releases/download/2.1.6/robotstxt-smtp-amazonses-2.1.6.zip",
"requires": "5.7",
"requires_php": "8.2",
"tested": "7.1",
"last_updated": "2026-06-09",
"author": "ROBOTSTXT",
"author_profile": "https://www.robotstxt.es/",
"homepage": "https://git.robotstxt.es/ROBOTSTXT/robotstxt-smtp-amazonses",
"requires_plugins": ["robotstxt-smtp"],
"description": "Adds Amazon SES (Simple Email Service) configuration support to the ROBOTSTXT SMTP plugin. Integrates seamlessly with AWS SDK for PHP to send emails through Amazon SES infrastructure.",
"changelog": "<h3>2.1.6 - 2026-06-09</h3><ul><li><strong>Added:</strong> Clear buttons for Access Key ID and Secret Access Key — when a credential is stored, a button appears next to the field to immediately remove the stored value</li></ul><h3>2.1.5 - 2026-06-09</h3><ul><li><strong>Added:</strong> Runtime check for missing parent plugin — shows admin notice instead of fatal error</li><li><strong>Fixed:</strong> Credentials never saving on first entry — validation now only blocks on definitive auth failures</li><li><strong>Fixed:</strong> Reply-to email field cannot be cleared — submitting empty now removes the stored address</li></ul><h3>2.1.4 - 2026-06-09</h3><ul><li><strong>Changed:</strong> Minimum WordPress version lowered to 5.7 (verified real minimum by static analysis)</li></ul><h3>2.1.3 - 2026-06-09</h3><ul><li><strong>Fixed:</strong> Nonce handling in manual quota refresh to correctly handle false values from filter_input()</li><li><strong>Fixed:</strong> Admin notices display now skips non-array notice entries</li><li><strong>Fixed:</strong> Input normalization for recipients, attachments, and headers now properly skips non-string values</li><li><strong>Removed:</strong> Unused internal rate limit method (dead code cleanup)</li><li><strong>Compatibility:</strong> Tested up to WordPress 7.1</li></ul><h3>2.1.2 - 2026-02-12</h3><ul><li><strong>Fixed:</strong> Charset encoding issue that caused \"expected parameter value, got null\" error when sending emails through Amazon SES</li><li><strong>Improved:</strong> Added robust charset validation in header parsing to prevent empty or invalid charset values</li><li><strong>Improved:</strong> Enhanced charset handling with automatic fallback to UTF-8 when no valid charset is provided</li></ul>",
"sections": {
"description": "Adds Amazon SES (Simple Email Service) configuration support to the ROBOTSTXT SMTP plugin. Integrates seamlessly with AWS SDK for PHP to send emails through Amazon SES infrastructure.",
"changelog": "<h3>2.1.6 - 2026-06-09</h3><ul><li><strong>Added:</strong> Clear buttons for Access Key ID and Secret Access Key — when a credential is stored, a button appears next to the field to immediately remove the stored value</li></ul><h3>2.1.5 - 2026-06-09</h3><ul><li><strong>Added:</strong> Runtime check for missing parent plugin — shows admin notice instead of fatal error</li><li><strong>Fixed:</strong> Credentials never saving on first entry — validation now only blocks on definitive auth failures</li><li><strong>Fixed:</strong> Reply-to email field cannot be cleared — submitting empty now removes the stored address</li></ul><h3>2.1.4 - 2026-06-09</h3><ul><li><strong>Changed:</strong> Minimum WordPress version lowered to 5.7 (verified real minimum by static analysis)</li></ul><h3>2.1.3 - 2026-06-09</h3><ul><li><strong>Fixed:</strong> Nonce handling in manual quota refresh to correctly handle false values from filter_input()</li><li><strong>Fixed:</strong> Admin notices display now skips non-array notice entries</li><li><strong>Fixed:</strong> Input normalization for recipients, attachments, and headers now properly skips non-string values</li><li><strong>Removed:</strong> Unused internal rate limit method (dead code cleanup)</li><li><strong>Compatibility:</strong> Tested up to WordPress 7.1</li></ul><h3>2.1.2 - 2026-02-12</h3><ul><li><strong>Fixed:</strong> Charset encoding issue that caused \"expected parameter value, got null\" error when sending emails through Amazon SES</li><li><strong>Improved:</strong> Added robust charset validation in header parsing to prevent empty or invalid charset values</li><li><strong>Improved:</strong> Enhanced charset handling with automatic fallback to UTF-8 when no valid charset is provided</li></ul><h3>2.1.1 - 2026-02-09</h3><ul><li><strong>Added:</strong> Comprehensive Amazon SES debug context to test email error reports</li><li><strong>Security:</strong> Access keys are now masked in error output (shows only first 4 and last 4 characters)</li></ul><h3>2.1.0 - 2026-02-09</h3><ul><li><strong>Changed:</strong> Uninstall behavior: plugin no longer performs cleanup on uninstall, all data cleanup is now handled by the core SMTP plugin</li></ul>"
},
"banners": {
"low": "",
"high": ""
},
"icons": {
"1x": "",
"2x": ""
}
}

View file

@ -23,6 +23,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getGovCloudAccountInformationAsync(array $args = [])
* @method \Aws\Result getPrimaryEmail(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPrimaryEmailAsync(array $args = [])
* @method \Aws\Result getPrimaryEmailUpdateStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPrimaryEmailUpdateStatusAsync(array $args = [])
* @method \Aws\Result getRegionOptStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRegionOptStatusAsync(array $args = [])
* @method \Aws\Result listRegions(array $args = [])

View file

@ -0,0 +1,31 @@
<?php
namespace Aws\AccountAccess;
use Aws\AwsClient;
/**
* This client is used to interact with the **Account Access** service.
* @method \Aws\Result createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createEntitlement(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEntitlementAsync(array $args = [])
* @method \Aws\Result deleteApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = [])
* @method \Aws\Result deleteEntitlement(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEntitlementAsync(array $args = [])
* @method \Aws\Result getApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise getApplicationAsync(array $args = [])
* @method \Aws\Result getEntitlement(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEntitlementAsync(array $args = [])
* @method \Aws\Result listApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = [])
* @method \Aws\Result listEntitlements(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEntitlementsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
*/
class AccountAccessClient extends AwsClient {}

View file

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

View file

@ -8,22 +8,56 @@ use Aws\AwsClient;
*
* @method \Aws\Result addTagsToCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise addTagsToCertificateAsync(array $args = [])
* @method \Aws\Result createAcmeDomainValidation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAcmeDomainValidationAsync(array $args = [])
* @method \Aws\Result createAcmeEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAcmeEndpointAsync(array $args = [])
* @method \Aws\Result createAcmeExternalAccountBinding(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAcmeExternalAccountBindingAsync(array $args = [])
* @method \Aws\Result deleteAcmeDomainValidation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAcmeDomainValidationAsync(array $args = [])
* @method \Aws\Result deleteAcmeEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAcmeEndpointAsync(array $args = [])
* @method \Aws\Result deleteAcmeExternalAccountBinding(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAcmeExternalAccountBindingAsync(array $args = [])
* @method \Aws\Result deleteCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = [])
* @method \Aws\Result describeAcmeAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAcmeAccountAsync(array $args = [])
* @method \Aws\Result describeAcmeDomainValidation(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAcmeDomainValidationAsync(array $args = [])
* @method \Aws\Result describeAcmeEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAcmeEndpointAsync(array $args = [])
* @method \Aws\Result describeAcmeExternalAccountBinding(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAcmeExternalAccountBindingAsync(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 getAccountConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountConfigurationAsync(array $args = [])
* @method \Aws\Result getAcmeExternalAccountBindingCredentials(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAcmeExternalAccountBindingCredentialsAsync(array $args = [])
* @method \Aws\Result getCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCertificateAsync(array $args = [])
* @method \Aws\Result importCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise importCertificateAsync(array $args = [])
* @method \Aws\Result listAcmeAccounts(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAcmeAccountsAsync(array $args = [])
* @method \Aws\Result listAcmeDomainValidations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAcmeDomainValidationsAsync(array $args = [])
* @method \Aws\Result listAcmeEndpoints(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAcmeEndpointsAsync(array $args = [])
* @method \Aws\Result listAcmeExternalAccountBindings(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAcmeExternalAccountBindingsAsync(array $args = [])
* @method \Aws\Result listCertificateDomainValidations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCertificateDomainValidationsAsync(array $args = [])
* @method \Aws\Result listCertificates(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCertificatesAsync(array $args = [])
* @method \Aws\Result listTagsForCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForCertificateAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result putAccountConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAccountConfigurationAsync(array $args = [])
* @method \Aws\Result removeTagsFromCertificate(array $args = [])
@ -34,10 +68,22 @@ 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 revokeAcmeAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise revokeAcmeAccountAsync(array $args = [])
* @method \Aws\Result revokeAcmeExternalAccountBinding(array $args = [])
* @method \GuzzleHttp\Promise\Promise revokeAcmeExternalAccountBindingAsync(array $args = [])
* @method \Aws\Result revokeCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise revokeCertificateAsync(array $args = [])
* @method \Aws\Result searchCertificates(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchCertificatesAsync(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 updateAcmeDomainValidation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAcmeDomainValidationAsync(array $args = [])
* @method \Aws\Result updateAcmeEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAcmeEndpointAsync(array $args = [])
* @method \Aws\Result updateCertificateOptions(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateCertificateOptionsAsync(array $args = [])
*/

View file

@ -0,0 +1,15 @@
<?php
namespace Aws\AgentRegistry;
use Aws\AwsClient;
/**
* This client is used to interact with the **Agent Registry** service.
* @method \Aws\Result batchGetDiscoverableRegistryRecord(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetDiscoverableRegistryRecordAsync(array $args = [])
* @method \Aws\Result listDiscoverableRegistryRecords(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDiscoverableRegistryRecordsAsync(array $args = [])
* @method \Aws\Result searchDiscoverableRegistryRecords(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchDiscoverableRegistryRecordsAsync(array $args = [])
*/
class AgentRegistryClient extends AwsClient {}

View file

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

View file

@ -0,0 +1,39 @@
<?php
namespace Aws\AgentRegistryControl;
use Aws\AwsClient;
/**
* This client is used to interact with the **Agent Registry Control** service.
* @method \Aws\Result createRegistry(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRegistryAsync(array $args = [])
* @method \Aws\Result createRegistryRecord(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRegistryRecordAsync(array $args = [])
* @method \Aws\Result deleteRegistry(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRegistryAsync(array $args = [])
* @method \Aws\Result deleteRegistryRecord(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRegistryRecordAsync(array $args = [])
* @method \Aws\Result getRegistry(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRegistryAsync(array $args = [])
* @method \Aws\Result getRegistryRecord(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRegistryRecordAsync(array $args = [])
* @method \Aws\Result listRegistries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRegistriesAsync(array $args = [])
* @method \Aws\Result listRegistryRecords(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRegistryRecordsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result submitRegistryRecordForApproval(array $args = [])
* @method \GuzzleHttp\Promise\Promise submitRegistryRecordForApprovalAsync(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 updateRegistry(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRegistryAsync(array $args = [])
* @method \Aws\Result updateRegistryRecord(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRegistryRecordAsync(array $args = [])
* @method \Aws\Result updateRegistryRecordStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRegistryRecordStatusAsync(array $args = [])
*/
class AgentRegistryControlClient extends AwsClient {}

View file

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

View file

@ -164,7 +164,13 @@ abstract class RestSerializer
// Streaming bodies or payloads that are strings are
// always just a stream of data.
$opts['body'] = Psr7\Utils::streamFor($body);
$stream = Psr7\Utils::streamFor($body);
// User-owned resource which should be detached instead of closed
// during garbage-collection
if (is_resource($body)) {
$stream = \Aws\detach_on_close_stream($stream);
}
$opts['body'] = $stream;
return;
}

View file

@ -13,6 +13,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createDeploymentStrategyAsync(array $args = [])
* @method \Aws\Result createEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEnvironmentAsync(array $args = [])
* @method \Aws\Result createExperimentDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise createExperimentDefinitionAsync(array $args = [])
* @method \Aws\Result createExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise createExtensionAsync(array $args = [])
* @method \Aws\Result createExtensionAssociation(array $args = [])
@ -27,6 +29,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteDeploymentStrategyAsync(array $args = [])
* @method \Aws\Result deleteEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEnvironmentAsync(array $args = [])
* @method \Aws\Result deleteExperimentDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteExperimentDefinitionAsync(array $args = [])
* @method \Aws\Result deleteExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteExtensionAsync(array $args = [])
* @method \Aws\Result deleteExtensionAssociation(array $args = [])
@ -47,6 +51,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getDeploymentStrategyAsync(array $args = [])
* @method \Aws\Result getEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEnvironmentAsync(array $args = [])
* @method \Aws\Result getExperimentDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExperimentDefinitionAsync(array $args = [])
* @method \Aws\Result getExperimentRun(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExperimentRunAsync(array $args = [])
* @method \Aws\Result getExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExtensionAsync(array $args = [])
* @method \Aws\Result getExtensionAssociation(array $args = [])
@ -63,6 +71,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listDeploymentsAsync(array $args = [])
* @method \Aws\Result listEnvironments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEnvironmentsAsync(array $args = [])
* @method \Aws\Result listExperimentDefinitions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExperimentDefinitionsAsync(array $args = [])
* @method \Aws\Result listExperimentRunEvents(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExperimentRunEventsAsync(array $args = [])
* @method \Aws\Result listExperimentRuns(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExperimentRunsAsync(array $args = [])
* @method \Aws\Result listExtensionAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExtensionAssociationsAsync(array $args = [])
* @method \Aws\Result listExtensions(array $args = [])
@ -73,8 +87,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result startDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDeploymentAsync(array $args = [])
* @method \Aws\Result startExperimentRun(array $args = [])
* @method \GuzzleHttp\Promise\Promise startExperimentRunAsync(array $args = [])
* @method \Aws\Result stopDeployment(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopDeploymentAsync(array $args = [])
* @method \Aws\Result stopExperimentRun(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopExperimentRunAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
@ -89,6 +107,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateDeploymentStrategyAsync(array $args = [])
* @method \Aws\Result updateEnvironment(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateEnvironmentAsync(array $args = [])
* @method \Aws\Result updateExperimentDefinition(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateExperimentDefinitionAsync(array $args = [])
* @method \Aws\Result updateExperimentRun(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateExperimentRunAsync(array $args = [])
* @method \Aws\Result updateExtension(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateExtensionAsync(array $args = [])
* @method \Aws\Result updateExtensionAssociation(array $args = [])

View file

@ -5,16 +5,26 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon CloudWatch Application Signals** service.
* @method \Aws\Result batchDeleteInstrumentationConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDeleteInstrumentationConfigurationsAsync(array $args = [])
* @method \Aws\Result batchGetServiceLevelObjectiveBudgetReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetServiceLevelObjectiveBudgetReportAsync(array $args = [])
* @method \Aws\Result batchUpdateExclusionWindows(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchUpdateExclusionWindowsAsync(array $args = [])
* @method \Aws\Result createInstrumentationConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createInstrumentationConfigurationAsync(array $args = [])
* @method \Aws\Result createServiceLevelObjective(array $args = [])
* @method \GuzzleHttp\Promise\Promise createServiceLevelObjectiveAsync(array $args = [])
* @method \Aws\Result deleteGroupingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGroupingConfigurationAsync(array $args = [])
* @method \Aws\Result deleteInstrumentationConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteInstrumentationConfigurationAsync(array $args = [])
* @method \Aws\Result deleteServiceLevelObjective(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteServiceLevelObjectiveAsync(array $args = [])
* @method \Aws\Result getInstrumentationConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInstrumentationConfigurationAsync(array $args = [])
* @method \Aws\Result getInstrumentationConfigurationStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInstrumentationConfigurationStatusAsync(array $args = [])
* @method \Aws\Result getService(array $args = [])
* @method \GuzzleHttp\Promise\Promise getServiceAsync(array $args = [])
* @method \Aws\Result getServiceLevelObjective(array $args = [])
@ -25,6 +35,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listEntityEventsAsync(array $args = [])
* @method \Aws\Result listGroupingAttributeDefinitions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGroupingAttributeDefinitionsAsync(array $args = [])
* @method \Aws\Result listInstrumentationConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listInstrumentationConfigurationsAsync(array $args = [])
* @method \Aws\Result listServiceDependencies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listServiceDependenciesAsync(array $args = [])
* @method \Aws\Result listServiceDependents(array $args = [])
@ -43,6 +55,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result putGroupingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putGroupingConfigurationAsync(array $args = [])
* @method \Aws\Result reportInstrumentationConfigurationStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise reportInstrumentationConfigurationStatusAsync(array $args = [])
* @method \Aws\Result startDiscovery(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDiscoveryAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])

View file

@ -5,21 +5,39 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Artifact** service.
* @method \Aws\Result createComplianceInquiry(array $args = [])
* @method \GuzzleHttp\Promise\Promise createComplianceInquiryAsync(array $args = [])
* @method \Aws\Result exportComplianceInquiry(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportComplianceInquiryAsync(array $args = [])
* @method \Aws\Result getAccountSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountSettingsAsync(array $args = [])
* @method \Aws\Result getComplianceInquiryMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise getComplianceInquiryMetadataAsync(array $args = [])
* @method \Aws\Result getReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise getReportAsync(array $args = [])
* @method \Aws\Result getReportMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise getReportMetadataAsync(array $args = [])
* @method \Aws\Result getTermForReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTermForReportAsync(array $args = [])
* @method \Aws\Result listComplianceInquiries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listComplianceInquiriesAsync(array $args = [])
* @method \Aws\Result listComplianceInquiryQueries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listComplianceInquiryQueriesAsync(array $args = [])
* @method \Aws\Result listCustomerAgreements(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCustomerAgreementsAsync(array $args = [])
* @method \Aws\Result listReportVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listReportVersionsAsync(array $args = [])
* @method \Aws\Result listReports(array $args = [])
* @method \GuzzleHttp\Promise\Promise listReportsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result putAccountSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAccountSettingsAsync(array $args = [])
* @method \Aws\Result putComplianceInquiryFeedback(array $args = [])
* @method \GuzzleHttp\Promise\Promise putComplianceInquiryFeedbackAsync(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 ArtifactClient extends AwsClient {}

View file

@ -9,6 +9,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise associateBackupVaultMpaApprovalTeamAsync(array $args = [])
* @method \Aws\Result cancelLegalHold(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelLegalHoldAsync(array $args = [])
* @method \Aws\Result createBackupAccessPoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackupAccessPointAsync(array $args = [])
* @method \Aws\Result createBackupPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBackupPlanAsync(array $args = [])
* @method \Aws\Result createBackupSelection(array $args = [])
@ -31,6 +33,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createRestoreTestingSelectionAsync(array $args = [])
* @method \Aws\Result createTieringConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTieringConfigurationAsync(array $args = [])
* @method \Aws\Result deleteBackupAccessPoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupAccessPointAsync(array $args = [])
* @method \Aws\Result deleteBackupPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBackupPlanAsync(array $args = [])
* @method \Aws\Result deleteBackupSelection(array $args = [])
@ -55,6 +59,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteRestoreTestingSelectionAsync(array $args = [])
* @method \Aws\Result deleteTieringConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTieringConfigurationAsync(array $args = [])
* @method \Aws\Result describeBackupAccessPoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeBackupAccessPointAsync(array $args = [])
* @method \Aws\Result describeBackupJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeBackupJobAsync(array $args = [])
* @method \Aws\Result describeBackupVault(array $args = [])
@ -119,6 +125,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getSupportedResourceTypesAsync(array $args = [])
* @method \Aws\Result getTieringConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTieringConfigurationAsync(array $args = [])
* @method \Aws\Result listBackupAccessPoints(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupAccessPointsAsync(array $args = [])
* @method \Aws\Result listBackupAccessPointsByRecoveryPoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupAccessPointsByRecoveryPointAsync(array $args = [])
* @method \Aws\Result listBackupAccessPointsByResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupAccessPointsByResourceAsync(array $args = [])
* @method \Aws\Result listBackupJobSummaries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBackupJobSummariesAsync(array $args = [])
* @method \Aws\Result listBackupJobs(array $args = [])

View file

@ -81,6 +81,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deregisterMarketplaceModelEndpointAsync(array $args = [])
* @method \Aws\Result exportAutomatedReasoningPolicyVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise exportAutomatedReasoningPolicyVersionAsync(array $args = [])
* @method \Aws\Result getAccountDataRetention(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountDataRetentionAsync(array $args = [])
* @method \Aws\Result getAdvancedPromptOptimizationJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAdvancedPromptOptimizationJobAsync(array $args = [])
* @method \Aws\Result getAutomatedReasoningPolicy(array $args = [])
@ -177,6 +179,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listProvisionedModelThroughputsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result putAccountDataRetention(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAccountDataRetentionAsync(array $args = [])
* @method \Aws\Result putEnforcedGuardrailConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putEnforcedGuardrailConfigurationAsync(array $args = [])
* @method \Aws\Result putModelInvocationLoggingConfiguration(array $args = [])

View file

@ -51,6 +51,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteKnowledgeBaseDocumentsAsync(array $args = [])
* @method \Aws\Result deletePrompt(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePromptAsync(array $args = [])
* @method \Aws\Result deleteResourcePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteResourcePolicyAsync(array $args = [])
* @method \Aws\Result disassociateAgentCollaborator(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateAgentCollaboratorAsync(array $args = [])
* @method \Aws\Result disassociateAgentKnowledgeBase(array $args = [])
@ -83,6 +85,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getKnowledgeBaseDocumentsAsync(array $args = [])
* @method \Aws\Result getPrompt(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPromptAsync(array $args = [])
* @method \Aws\Result getResourcePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getResourcePolicyAsync(array $args = [])
* @method \Aws\Result ingestKnowledgeBaseDocuments(array $args = [])
* @method \GuzzleHttp\Promise\Promise ingestKnowledgeBaseDocumentsAsync(array $args = [])
* @method \Aws\Result listAgentActionGroups(array $args = [])
@ -119,6 +123,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise prepareAgentAsync(array $args = [])
* @method \Aws\Result prepareFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise prepareFlowAsync(array $args = [])
* @method \Aws\Result putResourcePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putResourcePolicyAsync(array $args = [])
* @method \Aws\Result startIngestionJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startIngestionJobAsync(array $args = [])
* @method \Aws\Result stopIngestionJob(array $args = [])

View file

@ -25,6 +25,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteABTestAsync(array $args = [])
* @method \Aws\Result deleteBatchEvaluation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBatchEvaluationAsync(array $args = [])
* @method \Aws\Result deleteCapacityProviderSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCapacityProviderSessionAsync(array $args = [])
* @method \Aws\Result deleteEvent(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteEventAsync(array $args = [])
* @method \Aws\Result deleteMemoryRecord(array $args = [])

View file

@ -7,6 +7,8 @@ use Aws\AwsClient;
* This client is used to interact with the **Amazon Bedrock Agent Core Control Plane Fronting Layer** service.
* @method \Aws\Result addDatasetExamples(array $args = [])
* @method \GuzzleHttp\Promise\Promise addDatasetExamplesAsync(array $args = [])
* @method \Aws\Result batchPutGatewayRateLimits(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchPutGatewayRateLimitsAsync(array $args = [])
* @method \Aws\Result createAgentRuntime(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAgentRuntimeAsync(array $args = [])
* @method \Aws\Result createAgentRuntimeEndpoint(array $args = [])
@ -17,6 +19,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createBrowserAsync(array $args = [])
* @method \Aws\Result createBrowserProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBrowserProfileAsync(array $args = [])
* @method \Aws\Result createCapacityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCapacityProviderAsync(array $args = [])
* @method \Aws\Result createCodeInterpreter(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCodeInterpreterAsync(array $args = [])
* @method \Aws\Result createConfigurationBundle(array $args = [])
@ -29,12 +33,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createEvaluatorAsync(array $args = [])
* @method \Aws\Result createGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGatewayAsync(array $args = [])
* @method \Aws\Result createGatewayRateLimit(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGatewayRateLimitAsync(array $args = [])
* @method \Aws\Result createGatewayRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGatewayRuleAsync(array $args = [])
* @method \Aws\Result createGatewayTarget(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGatewayTargetAsync(array $args = [])
* @method \Aws\Result createHarness(array $args = [])
* @method \GuzzleHttp\Promise\Promise createHarnessAsync(array $args = [])
* @method \Aws\Result createHarnessEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise createHarnessEndpointAsync(array $args = [])
* @method \Aws\Result createMemory(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMemoryAsync(array $args = [])
* @method \Aws\Result createOauth2CredentialProvider(array $args = [])
@ -67,6 +75,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteBrowserAsync(array $args = [])
* @method \Aws\Result deleteBrowserProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBrowserProfileAsync(array $args = [])
* @method \Aws\Result deleteCapacityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCapacityProviderAsync(array $args = [])
* @method \Aws\Result deleteCodeInterpreter(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCodeInterpreterAsync(array $args = [])
* @method \Aws\Result deleteConfigurationBundle(array $args = [])
@ -79,12 +89,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteEvaluatorAsync(array $args = [])
* @method \Aws\Result deleteGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGatewayAsync(array $args = [])
* @method \Aws\Result deleteGatewayRateLimit(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGatewayRateLimitAsync(array $args = [])
* @method \Aws\Result deleteGatewayRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGatewayRuleAsync(array $args = [])
* @method \Aws\Result deleteGatewayTarget(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGatewayTargetAsync(array $args = [])
* @method \Aws\Result deleteHarness(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteHarnessAsync(array $args = [])
* @method \Aws\Result deleteHarnessEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteHarnessEndpointAsync(array $args = [])
* @method \Aws\Result deleteMemory(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteMemoryAsync(array $args = [])
* @method \Aws\Result deleteOauth2CredentialProvider(array $args = [])
@ -119,6 +133,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getBrowserAsync(array $args = [])
* @method \Aws\Result getBrowserProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBrowserProfileAsync(array $args = [])
* @method \Aws\Result getCapacityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCapacityProviderAsync(array $args = [])
* @method \Aws\Result getCodeInterpreter(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCodeInterpreterAsync(array $args = [])
* @method \Aws\Result getConfigurationBundle(array $args = [])
@ -131,12 +147,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getEvaluatorAsync(array $args = [])
* @method \Aws\Result getGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayAsync(array $args = [])
* @method \Aws\Result getGatewayRateLimit(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayRateLimitAsync(array $args = [])
* @method \Aws\Result getGatewayRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayRuleAsync(array $args = [])
* @method \Aws\Result getGatewayTarget(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGatewayTargetAsync(array $args = [])
* @method \Aws\Result getHarness(array $args = [])
* @method \GuzzleHttp\Promise\Promise getHarnessAsync(array $args = [])
* @method \Aws\Result getHarnessEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise getHarnessEndpointAsync(array $args = [])
* @method \Aws\Result getMemory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMemoryAsync(array $args = [])
* @method \Aws\Result getOauth2CredentialProvider(array $args = [])
@ -175,6 +195,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listAgentRuntimeEndpointsAsync(array $args = [])
* @method \Aws\Result listAgentRuntimeVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAgentRuntimeVersionsAsync(array $args = [])
* @method \Aws\Result listAgentRuntimeVersionsByCapacityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAgentRuntimeVersionsByCapacityProviderAsync(array $args = [])
* @method \Aws\Result listAgentRuntimes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAgentRuntimesAsync(array $args = [])
* @method \Aws\Result listApiKeyCredentialProviders(array $args = [])
@ -183,6 +205,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listBrowserProfilesAsync(array $args = [])
* @method \Aws\Result listBrowsers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBrowsersAsync(array $args = [])
* @method \Aws\Result listCapacityProviders(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCapacityProvidersAsync(array $args = [])
* @method \Aws\Result listCodeInterpreters(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCodeInterpretersAsync(array $args = [])
* @method \Aws\Result listConfigurationBundleVersions(array $args = [])
@ -197,12 +221,18 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listDatasetsAsync(array $args = [])
* @method \Aws\Result listEvaluators(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEvaluatorsAsync(array $args = [])
* @method \Aws\Result listGatewayRateLimits(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGatewayRateLimitsAsync(array $args = [])
* @method \Aws\Result listGatewayRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGatewayRulesAsync(array $args = [])
* @method \Aws\Result listGatewayTargets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGatewayTargetsAsync(array $args = [])
* @method \Aws\Result listGateways(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGatewaysAsync(array $args = [])
* @method \Aws\Result listHarnessEndpoints(array $args = [])
* @method \GuzzleHttp\Promise\Promise listHarnessEndpointsAsync(array $args = [])
* @method \Aws\Result listHarnessVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listHarnessVersionsAsync(array $args = [])
* @method \Aws\Result listHarnesses(array $args = [])
* @method \GuzzleHttp\Promise\Promise listHarnessesAsync(array $args = [])
* @method \Aws\Result listMemories(array $args = [])
@ -259,6 +289,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateAgentRuntimeEndpointAsync(array $args = [])
* @method \Aws\Result updateApiKeyCredentialProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApiKeyCredentialProviderAsync(array $args = [])
* @method \Aws\Result updateCapacityProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateCapacityProviderAsync(array $args = [])
* @method \Aws\Result updateConfigurationBundle(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConfigurationBundleAsync(array $args = [])
* @method \Aws\Result updateDataset(array $args = [])
@ -269,12 +301,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateEvaluatorAsync(array $args = [])
* @method \Aws\Result updateGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayAsync(array $args = [])
* @method \Aws\Result updateGatewayRateLimit(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayRateLimitAsync(array $args = [])
* @method \Aws\Result updateGatewayRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayRuleAsync(array $args = [])
* @method \Aws\Result updateGatewayTarget(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayTargetAsync(array $args = [])
* @method \Aws\Result updateHarness(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateHarnessAsync(array $args = [])
* @method \Aws\Result updateHarnessEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateHarnessEndpointAsync(array $args = [])
* @method \Aws\Result updateMemory(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateMemoryAsync(array $args = [])
* @method \Aws\Result updateOauth2CredentialProvider(array $args = [])

View file

@ -5,6 +5,10 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **Agents for Amazon Bedrock Runtime** service.
* @method \Aws\Result agenticRetrieveStream(array $args = [])
* @method \GuzzleHttp\Promise\Promise agenticRetrieveStreamAsync(array $args = [])
* @method \Aws\Result checkIngestedDocumentAcl(array $args = [])
* @method \GuzzleHttp\Promise\Promise checkIngestedDocumentAclAsync(array $args = [])
* @method \Aws\Result createInvocation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createInvocationAsync(array $args = [])
* @method \Aws\Result createSession(array $args = [])
@ -19,10 +23,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise generateQueryAsync(array $args = [])
* @method \Aws\Result getAgentMemory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAgentMemoryAsync(array $args = [])
* @method \Aws\Result getDocumentContent(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDocumentContentAsync(array $args = [])
* @method \Aws\Result getExecutionFlowSnapshot(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExecutionFlowSnapshotAsync(array $args = [])
* @method \Aws\Result getFlowExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise getFlowExecutionAsync(array $args = [])
* @method \Aws\Result getIngestedDocumentAcl(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIngestedDocumentAclAsync(array $args = [])
* @method \Aws\Result getInvocationStep(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInvocationStepAsync(array $args = [])
* @method \Aws\Result getSession(array $args = [])

View file

@ -15,6 +15,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise countTokensAsync(array $args = [])
* @method \Aws\Result getAsyncInvoke(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAsyncInvokeAsync(array $args = [])
* @method \Aws\Result invokeGuardrailChecks(array $args = [])
* @method \GuzzleHttp\Promise\Promise invokeGuardrailChecksAsync(array $args = [])
* @method \Aws\Result invokeModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise invokeModelAsync(array $args = [])
* @method \Aws\Result invokeModelWithResponseStream(array $args = [])

View file

@ -13,20 +13,36 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteBillingViewAsync(array $args = [])
* @method \Aws\Result disassociateSourceViews(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateSourceViewsAsync(array $args = [])
* @method \Aws\Result getBillingPreferences(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBillingPreferencesAsync(array $args = [])
* @method \Aws\Result getBillingView(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBillingViewAsync(array $args = [])
* @method \Aws\Result getCreditAllocationHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCreditAllocationHistoryAsync(array $args = [])
* @method \Aws\Result getCredits(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCreditsAsync(array $args = [])
* @method \Aws\Result getEnterpriseSupportChargeSummary(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEnterpriseSupportChargeSummaryAsync(array $args = [])
* @method \Aws\Result getEnterpriseSupportContractDetails(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEnterpriseSupportContractDetailsAsync(array $args = [])
* @method \Aws\Result getResourcePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getResourcePolicyAsync(array $args = [])
* @method \Aws\Result listBillingViews(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBillingViewsAsync(array $args = [])
* @method \Aws\Result listEnterpriseSupportLinkedAccountCharges(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEnterpriseSupportLinkedAccountChargesAsync(array $args = [])
* @method \Aws\Result listSourceViewsForBillingView(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSourceViewsForBillingViewAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result redeemCredits(array $args = [])
* @method \GuzzleHttp\Promise\Promise redeemCreditsAsync(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 updateBillingPreferences(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBillingPreferencesAsync(array $args = [])
* @method \Aws\Result updateBillingView(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBillingViewAsync(array $args = [])
*/

View file

@ -31,6 +31,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createIdMappingTableAsync(array $args = [])
* @method \Aws\Result createIdNamespaceAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIdNamespaceAssociationAsync(array $args = [])
* @method \Aws\Result createIntermediateTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIntermediateTableAsync(array $args = [])
* @method \Aws\Result createIntermediateTableAnalysisRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIntermediateTableAnalysisRuleAsync(array $args = [])
* @method \Aws\Result createMembership(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMembershipAsync(array $args = [])
* @method \Aws\Result createPrivacyBudgetTemplate(array $args = [])
@ -53,12 +57,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteIdMappingTableAsync(array $args = [])
* @method \Aws\Result deleteIdNamespaceAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIdNamespaceAssociationAsync(array $args = [])
* @method \Aws\Result deleteIntermediateTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIntermediateTableAsync(array $args = [])
* @method \Aws\Result deleteIntermediateTableAnalysisRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIntermediateTableAnalysisRuleAsync(array $args = [])
* @method \Aws\Result deleteMember(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteMemberAsync(array $args = [])
* @method \Aws\Result deleteMembership(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteMembershipAsync(array $args = [])
* @method \Aws\Result deletePrivacyBudgetTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePrivacyBudgetTemplateAsync(array $args = [])
* @method \Aws\Result disallowIntermediateTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise disallowIntermediateTableAsync(array $args = [])
* @method \Aws\Result getAnalysisLogExport(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAnalysisLogExportAsync(array $args = [])
* @method \Aws\Result getAnalysisTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAnalysisTemplateAsync(array $args = [])
* @method \Aws\Result getCollaboration(array $args = [])
@ -87,6 +99,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getIdMappingTableAsync(array $args = [])
* @method \Aws\Result getIdNamespaceAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIdNamespaceAssociationAsync(array $args = [])
* @method \Aws\Result getIntermediateTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIntermediateTableAsync(array $args = [])
* @method \Aws\Result getIntermediateTableAnalysisRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIntermediateTableAnalysisRuleAsync(array $args = [])
* @method \Aws\Result getMembership(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMembershipAsync(array $args = [])
* @method \Aws\Result getPrivacyBudgetTemplate(array $args = [])
@ -99,6 +115,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getSchemaAsync(array $args = [])
* @method \Aws\Result getSchemaAnalysisRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSchemaAnalysisRuleAsync(array $args = [])
* @method \Aws\Result listAnalysisLogExports(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAnalysisLogExportsAsync(array $args = [])
* @method \Aws\Result listAnalysisTemplates(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAnalysisTemplatesAsync(array $args = [])
* @method \Aws\Result listCollaborationAnalysisTemplates(array $args = [])
@ -125,6 +143,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listIdMappingTablesAsync(array $args = [])
* @method \Aws\Result listIdNamespaceAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIdNamespaceAssociationsAsync(array $args = [])
* @method \Aws\Result listIntermediateTableVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIntermediateTableVersionsAsync(array $args = [])
* @method \Aws\Result listIntermediateTables(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIntermediateTablesAsync(array $args = [])
* @method \Aws\Result listMembers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMembersAsync(array $args = [])
* @method \Aws\Result listMemberships(array $args = [])
@ -143,8 +165,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result populateIdMappingTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise populateIdMappingTableAsync(array $args = [])
* @method \Aws\Result populateIntermediateTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise populateIntermediateTableAsync(array $args = [])
* @method \Aws\Result previewPrivacyImpact(array $args = [])
* @method \GuzzleHttp\Promise\Promise previewPrivacyImpactAsync(array $args = [])
* @method \Aws\Result startAnalysisLogExport(array $args = [])
* @method \GuzzleHttp\Promise\Promise startAnalysisLogExportAsync(array $args = [])
* @method \Aws\Result startProtectedJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startProtectedJobAsync(array $args = [])
* @method \Aws\Result startProtectedQuery(array $args = [])
@ -173,6 +199,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateIdMappingTableAsync(array $args = [])
* @method \Aws\Result updateIdNamespaceAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateIdNamespaceAssociationAsync(array $args = [])
* @method \Aws\Result updateIntermediateTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateIntermediateTableAsync(array $args = [])
* @method \Aws\Result updateIntermediateTableAnalysisRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateIntermediateTableAnalysisRuleAsync(array $args = [])
* @method \Aws\Result updateMembership(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateMembershipAsync(array $args = [])
* @method \Aws\Result updatePrivacyBudgetTemplate(array $args = [])

View file

@ -361,6 +361,8 @@ class CloudFrontClient extends AwsClient
* URLs for private distributions.
* - private_key: (string) The filepath to the private key used to sign
* CloudFront URLs for private distributions.
* - algorithm: (int|string) Algorithm (name or openssl constant) to be used.
* Defaults to SHA1. Supported algorithms are SHA1 and SHA256.
*
* @param array $options Array of configuration options used when signing
*
@ -379,7 +381,8 @@ class CloudFrontClient extends AwsClient
$urlSigner = new UrlSigner(
$options['key_pair_id'],
$options['private_key']
$options['private_key'],
$options['algorithm'] ?? Signer::DEFAULT_ALGORITHM,
);
return $urlSigner->getSignedUrl(
@ -404,6 +407,9 @@ class CloudFrontClient extends AwsClient
* URLs for private distributions.
* - private_key: (string) The filepath ot the private key used to sign
* CloudFront URLs for private distributions.
* - algorithm: (int|string) OpenSSL signature algorithm constant (e.g.
* OPENSSL_ALGO_SHA1, OPENSSL_ALGO_SHA256) or algorithm name string
* (e.g. "sha256"). Defaults to OPENSSL_ALGO_SHA1.
*
* @param array $options Array of configuration options used when signing
*
@ -422,7 +428,8 @@ class CloudFrontClient extends AwsClient
$cookieSigner = new CookieSigner(
$options['key_pair_id'],
$options['private_key']
$options['private_key'],
$options['algorithm'] ?? Signer::DEFAULT_ALGORITHM,
);
return $cookieSigner->getSignedCookie(

View file

@ -12,17 +12,26 @@ class CookieSigner
];
/**
* @param $keyPairId string ID of the key pair
* @param $privateKey string Path to the private key used for signing
* @param string $keyPairId ID of the key pair.
* @param string $privateKey Path to the private key used for signing,
* or a PEM-encoded key string.
* @param int|string $algorithm Signing hash algorithm. Accepts either an
* OpenSSL constant (OPENSSL_ALGO_SHA1,
* OPENSSL_ALGO_SHA256) or the canonical name
* string ("SHA1", "SHA256"). Defaults to SHA1.
*
* @throws \RuntimeException if the openssl extension is missing
* @throws \InvalidArgumentException if the private key cannot be found.
* @throws \RuntimeException if the openssl extension is missing.
* @throws \InvalidArgumentException if the private key cannot be found,
* the key type is not supported by
* CloudFront (RSA or ECDSA P-256), or
* the requested algorithm is not supported.
*/
public function __construct($keyPairId, $privateKey)
public function __construct($keyPairId, $privateKey, $algorithm = Signer::DEFAULT_ALGORITHM)
{
$this->signer = new Signer($keyPairId, $privateKey);
$this->signer = new Signer($keyPairId, $privateKey, '', $algorithm);
}
/**
* Create a signed Amazon CloudFront Cookie.
*

View file

@ -8,20 +8,54 @@ class Signer
{
private $keyPairId;
private $pkHandle;
private $algorithm;
public const DEFAULT_ALGORITHM = 'SHA1';
/**
* Supported signing algorithms, keyed by their canonical (normalized)
* name. Values are unused sentinels presence via isset() is the check.
*/
public const SUPPORTED_ALGORITHMS = [
'SHA1' => true,
'SHA256' => true,
];
/**
* Mapping of OpenSSL algorithm integer constants to their canonical
* string name. Used to normalize callers who pass e.g. OPENSSL_ALGO_SHA256
* into the string form stored in {@see self::$algorithm}.
*/
private const OPENSSL_ALGORITHM_NAMES = [
OPENSSL_ALGO_SHA1 => 'SHA1',
OPENSSL_ALGO_SHA256 => 'SHA256',
];
/**
* A signer for creating the signature values used in CloudFront signed URLs
* and signed cookies.
*
* @param $keyPairId string ID of the key pair
* @param $privateKey string Path to the private key used for signing
* @param $passphrase string Passphrase to private key file, if one exists
* @param string $keyPairId ID of the key pair.
* @param string $privateKey Path to the private key used for signing,
* or a PEM-encoded key string.
* @param string $passphrase Passphrase to private key file, if one exists.
* @param int|string $algorithm Signing hash algorithm. Accepts either an
* OpenSSL constant (OPENSSL_ALGO_SHA1,
* OPENSSL_ALGO_SHA256) or the canonical name
* string ("SHA1", "SHA256"). Defaults to SHA1.
*
* @throws \RuntimeException if the openssl extension is missing
* @throws \InvalidArgumentException if the private key cannot be found.
* @throws \RuntimeException if the openssl extension is missing.
* @throws \InvalidArgumentException if the private key cannot be found,
* the key type is not supported by
* CloudFront (RSA or ECDSA P-256), or
* the requested algorithm is not supported.
*/
public function __construct($keyPairId, $privateKey, $passphrase = "")
{
public function __construct(
$keyPairId,
$privateKey,
$passphrase = "",
string|int $algorithm = self::DEFAULT_ALGORITHM
) {
if (!extension_loaded('openssl')) {
//@codeCoverageIgnoreStart
throw new \RuntimeException('The openssl extension is required to '
@ -31,6 +65,22 @@ class Signer
$this->keyPairId = $keyPairId;
// Normalize an OpenSSL integer constant to its canonical string form,
// then uppercase for consistent comparison. After this, $algorithm is
// always the canonical string (matching DEFAULT_ALGORITHM's storage).
if (is_int($algorithm) && isset(self::OPENSSL_ALGORITHM_NAMES[$algorithm])) {
$algorithm = self::OPENSSL_ALGORITHM_NAMES[$algorithm];
}
$algorithm = strtoupper((string) $algorithm);
if (!isset(self::SUPPORTED_ALGORITHMS[$algorithm])) {
throw new \InvalidArgumentException(
"Unsupported signature algorithm: {$algorithm}. Supported algorithms are: "
. implode(', ', array_keys(self::SUPPORTED_ALGORITHMS)) . '.'
);
}
$this->algorithm = $algorithm;
if (!$this->pkHandle = openssl_pkey_get_private($privateKey, $passphrase)) {
if (!file_exists($privateKey)) {
throw new \InvalidArgumentException("PK file not found: $privateKey");
@ -45,13 +95,54 @@ class Signer
throw new \InvalidArgumentException(implode("\n",$errorMessages));
}
}
$this->validateKeyType($this->pkHandle);
}
public function __destruct()
/**
* Ensures the loaded key is one CloudFront can verify: RSA of any modulus
* size, or ECDSA on the P-256 curve (prime256v1 / secp256r1). Anything
* else (DSA, EdDSA, EC on a non-P-256 curve, etc.) is rejected with an
* actionable error message rather than surfacing as an opaque openssl_sign
* failure at signing time.
*
* @param \OpenSSLAsymmetricKey|resource $pkHandle
*
* @throws \InvalidArgumentException on unsupported key material.
*/
private function validateKeyType($pkHandle): void
{
if (PHP_MAJOR_VERSION < 8) {
$this->pkHandle && openssl_pkey_free($this->pkHandle);
$details = openssl_pkey_get_details($pkHandle);
if ($details === false) {
throw new \InvalidArgumentException(
'Unable to read the details of the provided private key.'
);
}
$type = $details['type'] ?? null;
if ($type === OPENSSL_KEYTYPE_RSA) {
return;
}
if (defined('OPENSSL_KEYTYPE_EC') && $type === OPENSSL_KEYTYPE_EC) {
$curve = $details['ec']['curve_name'] ?? 'unknown';
// OpenSSL reports the P-256 curve as either "prime256v1" (its
// canonical name) or "secp256r1" (SEC 2 alias); accept both.
if ($curve === 'prime256v1' || $curve === 'secp256r1') {
return;
}
throw new \InvalidArgumentException(
"Unsupported CloudFront key type: ECDSA on curve '{$curve}'. "
. 'CloudFront requires ECDSA keys to be on the P-256 curve '
. '(prime256v1 / secp256r1).'
);
}
throw new \InvalidArgumentException(
'Unsupported CloudFront key type. CloudFront requires an RSA or '
. 'ECDSA P-256 (prime256v1) private key.'
);
}
/**
@ -96,6 +187,10 @@ class Signer
$signatureHash['Signature'] = $this->encode($this->sign($policy));
$signatureHash['Key-Pair-Id'] = $this->keyPairId;
if ($this->algorithm !== self::DEFAULT_ALGORITHM) {
$signatureHash['Hash-Algorithm'] = $this->algorithm;
}
return $signatureHash;
}
@ -117,7 +212,7 @@ class Signer
{
$signature = '';
if(!openssl_sign($policy, $signature, $this->pkHandle)) {
if(!openssl_sign($policy, $signature, $this->pkHandle, $this->algorithm)) {
$errorMessages = [];
while(($newMessage = openssl_error_string()) !== false) {
$errorMessages[] = $newMessage;

View file

@ -13,17 +13,26 @@ class UrlSigner
private $signer;
/**
* @param $keyPairId string ID of the key pair
* @param $privateKey string Path to the private key used for signing
* @param string $keyPairId ID of the key pair.
* @param string $privateKey Path to the private key used for signing,
* or a PEM-encoded key string.
* @param int|string $algorithm Signing hash algorithm. Accepts either an
* OpenSSL constant (OPENSSL_ALGO_SHA1,
* OPENSSL_ALGO_SHA256) or the canonical name
* string ("SHA1", "SHA256"). Defaults to SHA1.
*
* @throws \RuntimeException if the openssl extension is missing
* @throws \InvalidArgumentException if the private key cannot be found.
* @throws \RuntimeException if the openssl extension is missing.
* @throws \InvalidArgumentException if the private key cannot be found,
* the key type is not supported by
* CloudFront (RSA or ECDSA P-256), or
* the requested algorithm is not supported.
*/
public function __construct($keyPairId, $privateKey)
public function __construct($keyPairId, $privateKey, $algorithm = Signer::DEFAULT_ALGORITHM)
{
$this->signer = new Signer($keyPairId, $privateKey);
$this->signer = new Signer($keyPairId, $privateKey, '', $algorithm);
}
/**
* Create a signed Amazon CloudFront URL.
*

View file

@ -6,6 +6,8 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon CloudWatch** service.
*
* @method \Aws\Result associateDatasetKmsKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateDatasetKmsKeyAsync(array $args = [])
* @method \Aws\Result deleteAlarmMuteRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAlarmMuteRuleAsync(array $args = [])
* @method \Aws\Result deleteAlarms(array $args = [])
@ -34,6 +36,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise disableAlarmActionsAsync(array $args = [])
* @method \Aws\Result disableInsightRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise disableInsightRulesAsync(array $args = [])
* @method \Aws\Result disassociateDatasetKmsKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateDatasetKmsKeyAsync(array $args = [])
* @method \Aws\Result enableAlarmActions(array $args = [])
* @method \GuzzleHttp\Promise\Promise enableAlarmActionsAsync(array $args = [])
* @method \Aws\Result enableInsightRules(array $args = [])
@ -42,6 +46,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getAlarmMuteRuleAsync(array $args = [])
* @method \Aws\Result getDashboard(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDashboardAsync(array $args = [])
* @method \Aws\Result getDataset(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDatasetAsync(array $args = [])
* @method \Aws\Result getInsightRuleReport(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInsightRuleReportAsync(array $args = [])
* @method \Aws\Result getMetricData(array $args = [])
@ -76,6 +82,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise putDashboardAsync(array $args = [])
* @method \Aws\Result putInsightRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise putInsightRuleAsync(array $args = [])
* @method \Aws\Result putLogAlarm(array $args = [])
* @method \GuzzleHttp\Promise\Promise putLogAlarmAsync(array $args = [])
* @method \Aws\Result putManagedInsightRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise putManagedInsightRulesAsync(array $args = [])
* @method \Aws\Result putMetricAlarm(array $args = [])

View file

@ -70,6 +70,8 @@ use Generator;
* @method \GuzzleHttp\Promise\Promise deleteScheduledQueryAsync(array $args = [])
* @method \Aws\Result deleteSubscriptionFilter(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSubscriptionFilterAsync(array $args = [])
* @method \Aws\Result deleteSyslogConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSyslogConfigurationAsync(array $args = [])
* @method \Aws\Result deleteTransformer(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTransformerAsync(array $args = [])
* @method \Aws\Result describeAccountPolicies(array $args = [])
@ -148,6 +150,8 @@ use Generator;
* @method \GuzzleHttp\Promise\Promise getScheduledQueryAsync(array $args = [])
* @method \Aws\Result getScheduledQueryHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getScheduledQueryHistoryAsync(array $args = [])
* @method \Aws\Result getStorageTierPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getStorageTierPolicyAsync(array $args = [])
* @method \Aws\Result getTransformer(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTransformerAsync(array $args = [])
* @method \Aws\Result listAggregateLogGroupSummaries(array $args = [])
@ -166,6 +170,8 @@ use Generator;
* @method \GuzzleHttp\Promise\Promise listScheduledQueriesAsync(array $args = [])
* @method \Aws\Result listSourcesForS3TableIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSourcesForS3TableIntegrationAsync(array $args = [])
* @method \Aws\Result listSyslogConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSyslogConfigurationsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result listTagsLogGroup(array $args = [])
@ -202,8 +208,12 @@ use Generator;
* @method \GuzzleHttp\Promise\Promise putResourcePolicyAsync(array $args = [])
* @method \Aws\Result putRetentionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putRetentionPolicyAsync(array $args = [])
* @method \Aws\Result putStorageTierPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putStorageTierPolicyAsync(array $args = [])
* @method \Aws\Result putSubscriptionFilter(array $args = [])
* @method \GuzzleHttp\Promise\Promise putSubscriptionFilterAsync(array $args = [])
* @method \Aws\Result putSyslogConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putSyslogConfigurationAsync(array $args = [])
* @method \Aws\Result putTransformer(array $args = [])
* @method \GuzzleHttp\Promise\Promise putTransformerAsync(array $args = [])
* @method \Aws\Result startLiveTail(array $args = [])

View file

@ -56,6 +56,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getApprovalRuleTemplateAsync(array $args = [])
* @method \Aws\Result getBlob(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBlobAsync(array $args = [])
* @method \Aws\Result getBlobDifferences(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBlobDifferencesAsync(array $args = [])
* @method \Aws\Result getBranch(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBranchAsync(array $args = [])
* @method \Aws\Result getComment(array $args = [])

View file

@ -32,6 +32,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise adminGetDeviceAsync(array $args = [])
* @method \Aws\Result adminGetUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminGetUserAsync(array $args = [])
* @method \Aws\Result adminGetUserAuthFactors(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminGetUserAuthFactorsAsync(array $args = [])
* @method \Aws\Result adminInitiateAuth(array $args = [])
* @method \GuzzleHttp\Promise\Promise adminInitiateAuthAsync(array $args = [])
* @method \Aws\Result adminLinkProviderForUser(array $args = [])
@ -154,6 +156,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getIdentityProviderByIdentifierAsync(array $args = [])
* @method \Aws\Result getLogDeliveryConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLogDeliveryConfigurationAsync(array $args = [])
* @method \Aws\Result getProvisionedLimit(array $args = [])
* @method \GuzzleHttp\Promise\Promise getProvisionedLimitAsync(array $args = [])
* @method \Aws\Result getSigningCertificate(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSigningCertificateAsync(array $args = [])
* @method \Aws\Result getTokensFromRefreshToken(array $args = [])
@ -240,6 +244,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateIdentityProviderAsync(array $args = [])
* @method \Aws\Result updateManagedLoginBranding(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateManagedLoginBrandingAsync(array $args = [])
* @method \Aws\Result updateProvisionedLimit(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProvisionedLimitAsync(array $args = [])
* @method \Aws\Result updateResourceServer(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateResourceServerAsync(array $args = [])
* @method \Aws\Result updateTerms(array $args = [])

View file

@ -22,6 +22,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteConfigurationRecorderAsync(array $args = [])
* @method \Aws\Result deleteConformancePack(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConformancePackAsync(array $args = [])
* @method \Aws\Result deleteConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConnectorAsync(array $args = [])
* @method \Aws\Result deleteDeliveryChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeliveryChannelAsync(array $args = [])
* @method \Aws\Result deleteEvaluationResults(array $args = [])
@ -120,6 +122,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getConformancePackComplianceDetailsAsync(array $args = [])
* @method \Aws\Result getConformancePackComplianceSummary(array $args = [])
* @method \GuzzleHttp\Promise\Promise getConformancePackComplianceSummaryAsync(array $args = [])
* @method \Aws\Result getConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise getConnectorAsync(array $args = [])
* @method \Aws\Result getCustomRulePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCustomRulePolicyAsync(array $args = [])
* @method \Aws\Result getDiscoveredResourceCounts(array $args = [])
@ -142,6 +146,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listConfigurationRecordersAsync(array $args = [])
* @method \Aws\Result listConformancePackComplianceScores(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConformancePackComplianceScoresAsync(array $args = [])
* @method \Aws\Result listConnectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConnectorsAsync(array $args = [])
* @method \Aws\Result listDiscoveredResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDiscoveredResourcesAsync(array $args = [])
* @method \Aws\Result listResourceEvaluations(array $args = [])
@ -160,6 +166,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise putConfigurationRecorderAsync(array $args = [])
* @method \Aws\Result putConformancePack(array $args = [])
* @method \GuzzleHttp\Promise\Promise putConformancePackAsync(array $args = [])
* @method \Aws\Result putConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise putConnectorAsync(array $args = [])
* @method \Aws\Result putDeliveryChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise putDeliveryChannelAsync(array $args = [])
* @method \Aws\Result putEvaluations(array $args = [])
@ -182,6 +190,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise putServiceLinkedConfigurationRecorderAsync(array $args = [])
* @method \Aws\Result putStoredQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise putStoredQueryAsync(array $args = [])
* @method \Aws\Result putThirdPartyServiceLinkedConfigurationRecorder(array $args = [])
* @method \GuzzleHttp\Promise\Promise putThirdPartyServiceLinkedConfigurationRecorderAsync(array $args = [])
* @method \Aws\Result selectAggregateResourceConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise selectAggregateResourceConfigAsync(array $args = [])
* @method \Aws\Result selectResourceConfig(array $args = [])

View file

@ -2,56 +2,50 @@
namespace Aws\Configuration;
/**
* Resolves configuration values from, in order of precedence:
* 1. An AWS_-prefixed environment variable.
* 2. The shared config file (AWS_CONFIG_FILE, defaulting to ~/.aws/config).
* 3. A caller-supplied default.
*/
class ConfigurationResolver
{
const ENV_PROFILE = 'AWS_PROFILE';
const ENV_CONFIG_FILE = 'AWS_CONFIG_FILE';
const DEFAULT_PROFILE = 'default';
/** Prefix AWS applies to every non-default profile section in the config file. */
const PROFILE_PREFIX = 'profile ';
public static $envPrefix = 'AWS_';
/**
* Generic configuration resolver that first checks for environment
* variables, then checks for a specified profile in the environment-defined
* config file location (env variable is 'AWS_CONFIG_FILE', file location
* defaults to ~/.aws/config), then checks for the "default" profile in the
* environment-defined config file location, and failing those uses a default
* fallback value.
*
* @param string $key Configuration key to be used when attempting
* to retrieve value from the environment or ini file.
* @param mixed $defaultValue
* @param string $expectedType The expected type of the retrieved value.
* @param array $config additional configuration options.
* @param string $key Key to look up in the environment / config file.
* @param mixed $defaultValue Returned when nothing else resolves.
* @param string $expectedType Type to coerce the resolved value to.
* @param array $config Options: 'ini_resolver_options',
* 'use_aws_shared_config_files'.
*
* @return mixed
*/
public static function resolve(
$key,
$defaultValue,
$expectedType,
$config = []
)
public static function resolve($key, $defaultValue, $expectedType, $config = [])
{
$iniOptions = isset($config['ini_resolver_options'])
? $config['ini_resolver_options']
: [];
$envValue = self::env($key, $expectedType);
if (!is_null($envValue)) {
if ($envValue !== null) {
return $envValue;
}
if (!isset($config['use_aws_shared_config_files'])
|| $config['use_aws_shared_config_files'] != false
) {
$useSharedConfig = $config['use_aws_shared_config_files'] ?? true;
if ($useSharedConfig !== false) {
$iniValue = self::ini(
$key,
$expectedType,
null,
null,
$iniOptions
$config['ini_resolver_options'] ?? []
);
if(!is_null($iniValue)) {
if ($iniValue !== null) {
return $iniValue;
}
}
@ -60,43 +54,41 @@ class ConfigurationResolver
}
/**
* Resolves config values from environment variables.
* Resolves a value from an AWS_-prefixed environment variable.
*
* @param string $key Configuration key to be used when attempting
* to retrieve value from the environment.
* @param string $expectedType The expected type of the retrieved value.
* @param string $key
* @param string $expectedType
*
* @return null | mixed
* @return mixed|null
*/
public static function env($key, $expectedType = 'string')
{
// Use config from environment variables, if available
$envValue = getenv(self::$envPrefix . strtoupper($key));
if (!empty($envValue)) {
if ($expectedType) {
$envValue = self::convertType($envValue, $expectedType);
}
return $envValue;
// false => variable is unset; '' => set but empty. Both resolve to null.
// A literal "0" is a valid value and must NOT be treated as empty.
if ($envValue === false || $envValue === '') {
return null;
}
return null;
return $expectedType
? self::convertType($envValue, $expectedType)
: $envValue;
}
/**
* Gets config values from a config file whose location
* is specified by an environment variable 'AWS_CONFIG_FILE', defaulting to
* ~/.aws/config if not specified
* Resolves a value from the shared config file.
*
* @param string $key
* @param string $expectedType
* @param string|null $profile Profile to read. Defaults to AWS_PROFILE,
* then "default".
* @param string|null $filename Config file path. Defaults to AWS_CONFIG_FILE,
* then ~/.aws/config.
* @param array $options Subsection lookup options
* ('section', 'subsection', 'key').
*
* @param string $key Configuration key to be used when attempting
* to retrieve value from ini file.
* @param string $expectedType The expected type of the retrieved value.
* @param string|null $profile Profile to use. If not specified will use
* the "default" profile.
* @param string|null $filename If provided, uses a custom filename rather
* than looking in the default directory.
*
* @return null | mixed
* @return mixed|null
*/
public static function ini(
$key,
@ -104,21 +96,23 @@ class ConfigurationResolver
$profile = null,
$filename = null,
$options = []
){
$filename = $filename ?: (self::getDefaultConfigFilename());
$profile = $profile ?: (getenv(self::ENV_PROFILE) ?: 'default');
) {
$filename = $filename ?: self::getDefaultConfigFilename();
$profile = $profile ?: (getenv(self::ENV_PROFILE) ?: self::DEFAULT_PROFILE);
if (!@is_readable($filename)) {
return null;
}
// Use INI_SCANNER_NORMAL instead of INI_SCANNER_TYPED for PHP 5.5 compatibility
//TODO change after deprecation
$data = @\Aws\parse_ini_file($filename, true, INI_SCANNER_NORMAL);
if (isset($options['section'])
&& isset($options['subsection'])
&& isset($options['key']))
{
// INI_SCANNER_TYPED coerces bool/int/float/null at parse time; a value
// left empty (key =) still comes back as an empty string. convertType()
// normalizes both these typed values and the raw strings from env().
$data = @\Aws\parse_ini_file($filename, true, INI_SCANNER_TYPED);
if ($data === false) {
return null;
}
if (isset($options['section'], $options['subsection'], $options['key'])) {
return self::retrieveValueFromIniSubsection(
$data,
$profile,
@ -128,38 +122,102 @@ class ConfigurationResolver
);
}
if ($data === false
|| !isset($data[$profile])
|| !isset($data[$profile][$key])
) {
$section = self::getProfileSection($data, $profile);
if ($section === null || !isset($section[$key])) {
return null;
}
// INI_SCANNER_NORMAL parses false-y values as an empty string
if ($data[$profile][$key] === "") {
if ($expectedType === 'bool') {
$data[$profile][$key] = false;
} elseif ($expectedType === 'int') {
$data[$profile][$key] = 0;
}
return self::convertType($section[$key], $expectedType);
}
/**
* Returns the config-file section for a profile, accounting for the
* "profile " prefix AWS applies to every non-default profile.
*
* For a non-default profile "foo" the lookup order is:
* 1. [profile foo] (canonical AWS form)
* 2. [foo] (lenient fallback for hand-written files)
*
* The default profile is conventionally written as [default], with
* [profile default] tolerated as a fallback.
*
* @param array $data
* @param string $profile
*
* @return array|null
*/
private static function getProfileSection(array $data, $profile)
{
if ($profile === self::DEFAULT_PROFILE) {
return $data[self::DEFAULT_PROFILE]
?? $data[self::PROFILE_PREFIX . self::DEFAULT_PROFILE]
?? null;
}
return self::convertType($data[$profile][$key], $expectedType);
return $data[self::PROFILE_PREFIX . $profile]
?? $data[$profile]
?? null;
}
/**
* Resolves a value nested in a referenced section (e.g. a profile that
* points at a "services" section via `services = my-services`).
*
* @param array $data
* @param string $profile
* @param string $filename
* @param string $expectedType
* @param array $options
*
* @return mixed|null
*/
private static function retrieveValueFromIniSubsection(
array $data,
$profile,
$filename,
$expectedType,
array $options
) {
$profileData = self::getProfileSection($data, $profile);
$section = $options['section'];
// The profile must name a referenced section, and that section must exist.
if ($profileData === null || !isset($profileData[$section])) {
return null;
}
$referencedSection = "{$section} {$profileData[$section]}";
if (!isset($data[$referencedSection])) {
return null;
}
$subsections = \Aws\parse_ini_section_with_subsections(
$filename,
$referencedSection
);
$subsection = $options['subsection'];
$subKey = $options['key'];
if (!isset($subsections[$subsection][$subKey])) {
return null;
}
return self::convertType($subsections[$subsection][$subKey], $expectedType);
}
/**
* Gets the environment's HOME directory if available.
*
* @return null | string
* @return string|null
*/
private static function getHomeDir()
{
// On Linux/Unix-like systems, use the HOME environment variable
// Linux / Unix-like systems.
if ($homeDir = getenv('HOME')) {
return $homeDir;
}
// Get the HOMEDRIVE and HOMEPATH values for Windows hosts
// Windows hosts.
$homeDrive = getenv('HOMEDRIVE');
$homePath = getenv('HOMEPATH');
@ -167,88 +225,73 @@ class ConfigurationResolver
}
/**
* Gets default config file location from environment, falling back to aws
* default location
* Gets the config file location from the environment, falling back to the
* AWS default location.
*
* @return string
*/
private static function getDefaultConfigFilename()
{
if ($filename = getenv(self::ENV_CONFIG_FILE)) {
return $filename;
}
return self::getHomeDir() . '/.aws/config';
return getenv(self::ENV_CONFIG_FILE)
?: self::getHomeDir() . '/.aws/config';
}
/**
* Normalizes string values pulled out of ini files and
* environment variables.
* Coerces a value to the expected type. The value may be a raw string
* (from env()) or already typed by INI_SCANNER_TYPED (from ini()).
* Unrecognized values are returned unchanged.
*
* @param string $value The value retrieved from the environment or
* ini file.
* @param $type $string The type that the value needs to be converted to.
* @param mixed $value
* @param string $type
*
* @return mixed
*/
private static function convertType($value, $type)
private static function convertType(mixed $value, string $type): mixed
{
if ($type === 'bool'
&& !is_null($convertedValue = \Aws\boolean_value($value))
) {
return $convertedValue;
}
if ($type === 'int'
&& filter_var($value, FILTER_VALIDATE_INT)
) {
$value = intVal($value);
}
return $value;
// INI_SCANNER_TYPED may already yield a bool/int for keyword or numeric
// values; env() always passes a string. Each arm fast-paths the
// already-typed case and delegates conversion otherwise. TYPED may also
// return int/float/bool for numeric or keyword 'string' values, so the
// string arm casts those back to string as it did under NORMAL.
return match ($type) {
'bool' => is_bool($value) ? $value : self::toBool($value),
'int' => is_int($value) ? $value : self::toInt($value),
'string' => is_string($value) ? $value : (string) $value,
default => $value,
};
}
/**
* Normalizes string values pulled out of ini files and
* environment variables.
* Coerces a non-bool value (typically a string from env()) to bool.
* \Aws\boolean_value() returns null when it can't interpret the value.
*
* @param array $data The data retrieved the ini file
* @param string $profile The specified ini profile
* @param string $filename The full path to the ini file
* @param array $options Additional arguments passed to the configuration resolver
* @param mixed $value
*
* @return mixed
*/
private static function retrieveValueFromIniSubsection(
$data,
$profile,
$filename,
$expectedType,
$options
){
$section = $options['section'];
if ($data === false
|| !isset($data[$profile][$section])
|| !isset($data["{$section} {$data[$profile][$section]}"])
) {
return null;
private static function toBool(mixed $value): mixed
{
if ($value === '') {
return false;
}
return \Aws\boolean_value($value) ?? $value;
}
$services_section = \Aws\parse_ini_section_with_subsections(
$filename,
"services {$data[$profile]['services']}"
);
if (empty($options['subsection']) || empty($options['key'])) {
return null;
/**
* Coerces a non-int value (typically a string from env()) to int. Uses
* !== false on filter_var() so a valid "0" is not dropped; if the value
* is not a valid int, the original is returned unchanged.
*
* @param mixed $value
*
* @return mixed
*/
private static function toInt(mixed $value): mixed
{
if ($value === '') {
return 0;
}
if (!isset($services_section[$options['subsection']][$options['key']])) {
return null;
}
return self::convertType(
$services_section[$options['subsection']][$options['key']],
$expectedType
);
$int = filter_var($value, FILTER_VALIDATE_INT);
return $int !== false ? $int : $value;
}
}

View file

@ -71,6 +71,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise completeAttachedFileUploadAsync(array $args = [])
* @method \Aws\Result createAgentStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAgentStatusAsync(array $args = [])
* @method \Aws\Result createAttachedFile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAttachedFileAsync(array $args = [])
* @method \Aws\Result createAuthCode(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAuthCodeAsync(array $args = [])
* @method \Aws\Result createContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise createContactAsync(array $args = [])
* @method \Aws\Result createContactFlow(array $args = [])
@ -99,6 +103,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createInstanceAsync(array $args = [])
* @method \Aws\Result createIntegrationAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIntegrationAssociationAsync(array $args = [])
* @method \Aws\Result createMetric(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMetricAsync(array $args = [])
* @method \Aws\Result createNotification(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNotificationAsync(array $args = [])
* @method \Aws\Result createParticipant(array $args = [])
@ -147,6 +153,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deactivateEvaluationFormAsync(array $args = [])
* @method \Aws\Result deleteAttachedFile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAttachedFileAsync(array $args = [])
* @method \Aws\Result deleteContactData(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteContactDataAsync(array $args = [])
* @method \Aws\Result deleteContactEvaluation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteContactEvaluationAsync(array $args = [])
* @method \Aws\Result deleteContactFlow(array $args = [])
@ -175,6 +183,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteInstanceAsync(array $args = [])
* @method \Aws\Result deleteIntegrationAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIntegrationAssociationAsync(array $args = [])
* @method \Aws\Result deleteMetric(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteMetricAsync(array $args = [])
* @method \Aws\Result deleteNotification(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNotificationAsync(array $args = [])
* @method \Aws\Result deletePredefinedAttribute(array $args = [])
@ -193,6 +203,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteRuleAsync(array $args = [])
* @method \Aws\Result deleteSecurityProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSecurityProfileAsync(array $args = [])
* @method \Aws\Result deleteSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSessionAsync(array $args = [])
* @method \Aws\Result deleteTaskTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTaskTemplateAsync(array $args = [])
* @method \Aws\Result deleteTestCase(array $args = [])
@ -251,6 +263,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeInstanceAttributeAsync(array $args = [])
* @method \Aws\Result describeInstanceStorageConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeInstanceStorageConfigAsync(array $args = [])
* @method \Aws\Result describeMetric(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeMetricAsync(array $args = [])
* @method \Aws\Result describeNotification(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeNotificationAsync(array $args = [])
* @method \Aws\Result describePhoneNumber(array $args = [])
@ -337,6 +351,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getCurrentUserDataAsync(array $args = [])
* @method \Aws\Result getEffectiveHoursOfOperations(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEffectiveHoursOfOperationsAsync(array $args = [])
* @method \Aws\Result getEvaluationFormValidation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEvaluationFormValidationAsync(array $args = [])
* @method \Aws\Result getFederationToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise getFederationTokenAsync(array $args = [])
* @method \Aws\Result getFlowAssociation(array $args = [])
@ -423,6 +439,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listLambdaFunctionsAsync(array $args = [])
* @method \Aws\Result listLexBots(array $args = [])
* @method \GuzzleHttp\Promise\Promise listLexBotsAsync(array $args = [])
* @method \Aws\Result listMetrics(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMetricsAsync(array $args = [])
* @method \Aws\Result listNotifications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNotificationsAsync(array $args = [])
* @method \Aws\Result listPhoneNumbers(array $args = [])
@ -531,6 +549,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise searchHoursOfOperationOverridesAsync(array $args = [])
* @method \Aws\Result searchHoursOfOperations(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchHoursOfOperationsAsync(array $args = [])
* @method \Aws\Result searchMetrics(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchMetricsAsync(array $args = [])
* @method \Aws\Result searchNotifications(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchNotificationsAsync(array $args = [])
* @method \Aws\Result searchPredefinedAttributes(array $args = [])
@ -545,6 +565,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise searchResourceTagsAsync(array $args = [])
* @method \Aws\Result searchRoutingProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchRoutingProfilesAsync(array $args = [])
* @method \Aws\Result searchRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchRulesAsync(array $args = [])
* @method \Aws\Result searchSecurityProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchSecurityProfilesAsync(array $args = [])
* @method \Aws\Result searchTestCases(array $args = [])
@ -565,10 +587,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise sendChatIntegrationEventAsync(array $args = [])
* @method \Aws\Result sendOutboundEmail(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendOutboundEmailAsync(array $args = [])
* @method \Aws\Result sendOutboundWebNotification(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendOutboundWebNotificationAsync(array $args = [])
* @method \Aws\Result startAssistantContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise startAssistantContactAsync(array $args = [])
* @method \Aws\Result startAttachedFileUpload(array $args = [])
* @method \GuzzleHttp\Promise\Promise startAttachedFileUploadAsync(array $args = [])
* @method \Aws\Result startChatContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise startChatContactAsync(array $args = [])
* @method \Aws\Result startContactConversationalAnalyticsJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startContactConversationalAnalyticsJobAsync(array $args = [])
* @method \Aws\Result startContactEvaluation(array $args = [])
* @method \GuzzleHttp\Promise\Promise startContactEvaluationAsync(array $args = [])
* @method \Aws\Result startContactMediaProcessing(array $args = [])
@ -579,6 +607,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise startContactStreamingAsync(array $args = [])
* @method \Aws\Result startEmailContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise startEmailContactAsync(array $args = [])
* @method \Aws\Result startEvaluationFormValidation(array $args = [])
* @method \GuzzleHttp\Promise\Promise startEvaluationFormValidationAsync(array $args = [])
* @method \Aws\Result startOutboundChatContact(array $args = [])
* @method \GuzzleHttp\Promise\Promise startOutboundChatContactAsync(array $args = [])
* @method \Aws\Result startOutboundEmailContact(array $args = [])
@ -645,6 +675,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateContactRoutingDataAsync(array $args = [])
* @method \Aws\Result updateContactSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateContactScheduleAsync(array $args = [])
* @method \Aws\Result updateContactTaskTemplate(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateContactTaskTemplateAsync(array $args = [])
* @method \Aws\Result updateDataTableAttribute(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDataTableAttributeAsync(array $args = [])
* @method \Aws\Result updateDataTableMetadata(array $args = [])
@ -663,6 +695,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateInstanceAttributeAsync(array $args = [])
* @method \Aws\Result updateInstanceStorageConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateInstanceStorageConfigAsync(array $args = [])
* @method \Aws\Result updateMetricContent(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateMetricContentAsync(array $args = [])
* @method \Aws\Result updateMetricMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateMetricMetadataAsync(array $args = [])
* @method \Aws\Result updateNotificationContent(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNotificationContentAsync(array $args = [])
* @method \Aws\Result updateParticipantAuthentication(array $args = [])

View file

@ -3,7 +3,7 @@ namespace Aws\Credentials;
use Aws\Arn\Arn;
use Aws\Exception\CredentialsException;
use GuzzleHttp\Exception\ConnectException;
use Aws\Handler\HttpHandlerError;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Promise;
@ -51,9 +51,8 @@ class EcsCredentialProvider
*/
public function __construct(array $config = [])
{
$this->timeout = (float) isset($config['timeout'])
? $config['timeout']
: (getenv(self::ENV_TIMEOUT) ?: self::DEFAULT_ENV_TIMEOUT);
$timeout = $config['timeout'] ?? (getenv(self::ENV_TIMEOUT) ?: self::DEFAULT_ENV_TIMEOUT);
$this->timeout = is_string($timeout) && is_numeric($timeout) ? (float) $timeout : $timeout;
$this->retries = (int) isset($config['retries'])
? $config['retries']
: ((int) getenv(self::ENV_RETRIES) ?: self::DEFAULT_ENV_RETRIES);
@ -105,13 +104,14 @@ class EcsCredentialProvider
CredentialSources::ECS
);
})->otherwise(function ($reason) {
$reason = is_array($reason) ? $reason['exception'] : $reason;
$connectionError = is_array($reason) && !empty($reason['connection_error']);
$exception = is_array($reason) ? ($reason['exception'] ?? null) : $reason;
$isRetryable = $connectionError || ($exception instanceof \Throwable && HttpHandlerError::isConnectionError($exception));
$isRetryable = $reason instanceof ConnectException;
if ($isRetryable && ($this->attempts < $this->retries)) {
sleep((int)pow(1.2, $this->attempts));
} else {
$msg = $reason->getMessage();
$msg = $exception instanceof \Throwable ? $exception->getMessage() : \Aws\describe_type($reason);
throw new CredentialsException(
sprintf('Error retrieving credentials from container metadata after attempt %d/%d (%s)', $this->attempts, $this->retries, $msg)
);

View file

@ -82,7 +82,8 @@ class InstanceProfileProvider
*/
public function __construct(array $config = [])
{
$this->timeout = (float) getenv(self::ENV_TIMEOUT) ?: ($config['timeout'] ?? self::DEFAULT_TIMEOUT);
$timeout = (float) getenv(self::ENV_TIMEOUT) ?: ($config['timeout'] ?? self::DEFAULT_TIMEOUT);
$this->timeout = is_string($timeout) && is_numeric($timeout) ? (float) $timeout : $timeout;
$this->profile = $config['profile'] ?? null;
$this->retries = (int) getenv(self::ENV_RETRIES) ?: ($config['retries'] ?? self::DEFAULT_RETRIES);
$this->client = $config['client'] ?? \Aws\default_http_handler();

View file

@ -79,6 +79,11 @@ class AesGcmDecryptingStream implements AesStreamInterface
public function createStream()
{
if (strlen($this->tag) !== 16) {
throw new CryptoException(
'Unsupported GCM tag length; only 128-bit tags are supported.'
);
}
$result = \openssl_decrypt(
(string)$this->cipherText,

View file

@ -77,9 +77,8 @@ trait DecryptionTraitV2
$options['@CipherOptions'] = $options['@CipherOptions'] ?? [];
$options['@CipherOptions']['Iv'] = str_repeat("\1", 12);
$options['@CipherOptions']['TagLength'] = $algorithmSuite->getCipherTagLengthInBytes();
$materialDescription = json_decode(
$envelope[MetadataEnvelope::ENCRYPTION_CONTEXT_V3],
true
$materialDescription = $this->decodeMaterialsDescription(
$envelope[MetadataEnvelope::ENCRYPTION_CONTEXT_V3]
);
@ -130,9 +129,8 @@ trait DecryptionTraitV2
base64_decode(
$envelope[MetadataEnvelope::CONTENT_KEY_V2_HEADER]
),
json_decode(
$envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER],
true
$this->decodeMaterialsDescription(
$envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER]
),
$options
);
@ -154,6 +152,26 @@ trait DecryptionTraitV2
}
}
// Decodes the material description, rejecting a malformed value.
private function decodeMaterialsDescription($materialsDescription): array
{
if (!is_string($materialsDescription)) {
throw new CryptoException('Unable to decode the material description.');
}
$decoded = json_decode($materialsDescription, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new CryptoException(
'Unable to decode the material description: ' . json_last_error_msg()
);
}
if (!is_array($decoded)) {
throw new CryptoException('Unable to decode the material description.');
}
return $decoded;
}
private function buildMaterialDescription(
MetadataEnvelope $envelope
): array
@ -401,7 +419,7 @@ trait DecryptionTraitV2
$cipherOptions['TagLength']
);
$cipherOptions['Aad'] = isset($cipherOptions['Aad'])
? $cipherOptions['Aad'] + $algorithmSuiteIdAsBytes
? $cipherOptions['Aad'] . $algorithmSuiteIdAsBytes
: $algorithmSuiteIdAsBytes;
return new AesGcmDecryptingStream(

View file

@ -152,9 +152,8 @@ trait DecryptionTraitV3
base64_decode(
$envelope[MetadataEnvelope::CONTENT_KEY_V2_HEADER]
),
json_decode(
$envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER],
true
$this->decodeMaterialsDescription(
$envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER]
),
$options
);
@ -213,15 +212,34 @@ trait DecryptionTraitV3
}
// Decodes the material description, rejecting a malformed value.
private function decodeMaterialsDescription($materialsDescription): array
{
if (!is_string($materialsDescription)) {
throw new CryptoException('Unable to decode the material description.');
}
$decoded = json_decode($materialsDescription, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new CryptoException(
'Unable to decode the material description: ' . json_last_error_msg()
);
}
if (!is_array($decoded)) {
throw new CryptoException('Unable to decode the material description.');
}
return $decoded;
}
private function buildMaterialDescription(
MetadataEnvelope $envelope
): array
{
switch ($envelope[MetadataEnvelope::ENCRYPTED_DATA_KEY_ALGORITHM_V3]) {
case 12:
return json_decode(
$envelope[MetadataEnvelope::ENCRYPTION_CONTEXT_V3],
true
return $this->decodeMaterialsDescription(
$envelope[MetadataEnvelope::ENCRYPTION_CONTEXT_V3]
);
default:
throw new CryptoException(
@ -507,7 +525,7 @@ trait DecryptionTraitV3
$cipherOptions['TagLength']
);
$cipherOptions['Aad'] = isset($cipherOptions['Aad'])
? $cipherOptions['Aad'] + $algorithmSuiteIdAsBytes
? $cipherOptions['Aad'] . $algorithmSuiteIdAsBytes
: $algorithmSuiteIdAsBytes;
return new AesGcmDecryptingStream(

View file

@ -4,6 +4,7 @@ namespace Aws\Crypto;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\AppendStream;
use GuzzleHttp\Psr7\Stream;
use Psr\Http\Message\StreamInterface;
trait EncryptionTrait
{
@ -49,7 +50,7 @@ trait EncryptionTrait
* @internal
*/
public function encrypt(
Stream $plaintext,
StreamInterface $plaintext,
array $cipherOptions,
MaterialsProvider $provider,
MetadataEnvelope $envelope
@ -142,7 +143,7 @@ trait EncryptionTrait
* @internal
*/
protected function getEncryptingStream(
Stream $plaintext,
StreamInterface $plaintext,
$cek,
&$cipherOptions
) {

View file

@ -54,7 +54,7 @@ trait EncryptionTraitV2
* @internal
*/
public function encrypt(
Stream $plaintext,
StreamInterface $plaintext,
array $options,
MaterialsProviderV2 $provider,
MetadataEnvelope $envelope
@ -155,7 +155,7 @@ trait EncryptionTraitV2
* @internal
*/
protected function getEncryptingStream(
Stream $plaintext,
StreamInterface $plaintext,
$cek,
&$cipherOptions
) {

View file

@ -43,7 +43,7 @@ trait EncryptionTraitV3
* Builds an AesStreamInterface and populates encryption metadata into the
* supplied envelope.
*
* @param Stream $plaintext Plain-text data to be encrypted using the
* @param StreamInterface $plaintext Plain-text data to be encrypted using the
* materials, algorithm, and data provided.
* @param AlgorithmSuite $algorithmSuite Algorithm Suite for use in encryption
* @param array $options Options for use in encryption, including cipher
@ -61,7 +61,7 @@ trait EncryptionTraitV3
* @internal
*/
public function encrypt(
Stream $plaintext,
StreamInterface $plaintext,
AlgorithmSuite $algorithmSuite,
array $options,
MaterialsProviderV3 $provider,
@ -143,7 +143,7 @@ trait EncryptionTraitV3
}
private function encryptNonCommitingStream(
Stream $plaintext,
StreamInterface $plaintext,
array &$cipherOptions,
array $keys,
array $materialsDescription,
@ -202,7 +202,7 @@ trait EncryptionTraitV3
}
private function encryptCommitingStream(
Stream $plaintext,
StreamInterface $plaintext,
AlgorithmSuite $algorithmSuite,
array &$options,
array $keys,
@ -276,7 +276,7 @@ trait EncryptionTraitV3
* 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
* @param StreamInterface $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.
@ -288,7 +288,7 @@ trait EncryptionTraitV3
* @internal
*/
protected function getNonCommittingEncryptingStream(
Stream $plaintext,
StreamInterface $plaintext,
string $cek,
array &$cipherOptions
): AppendStream
@ -346,7 +346,7 @@ trait EncryptionTraitV3
* 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
* @param StreamInterface $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.
@ -361,7 +361,7 @@ trait EncryptionTraitV3
* @internal
*/
protected function getCommitingEncryptionStream(
Stream $plaintext,
StreamInterface $plaintext,
string $dek,
array &$cipherOptions,
string $messageId,
@ -433,13 +433,13 @@ trait EncryptionTraitV3
if (!empty($cipherOptions['Aad'])) {
trigger_error("'Aad' has been supplied for content encryption"
. " with " . $encryptClass->getAesName() . ". The"
. " with " . $encryptClass::getStaticAesName() . ". The"
. " PHP SDK encryption client can decrypt an object"
. " encrypted in this way, but other AWS SDKs may not be"
. " able to.", E_USER_NOTICE);
}
$cipherOptions['Aad'] = isset($cipherOptions['Aad'])
? $cipherOptions['Aad'] + $algorithmSuiteIdAsBytes
? $cipherOptions['Aad'] . $algorithmSuiteIdAsBytes
: $algorithmSuiteIdAsBytes;
//= ../specification/s3-encryption/key-derivation.md#hkdf-operation
//= type=implication

View file

@ -119,6 +119,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteGlossaryAsync(array $args = [])
* @method \Aws\Result deleteGlossaryTerm(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGlossaryTermAsync(array $args = [])
* @method \Aws\Result deleteLineageEvent(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteLineageEventAsync(array $args = [])
* @method \Aws\Result deleteListing(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteListingAsync(array $args = [])
* @method \Aws\Result deleteNotebook(array $args = [])
@ -331,6 +333,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise startNotebookImportAsync(array $args = [])
* @method \Aws\Result startNotebookRun(array $args = [])
* @method \GuzzleHttp\Promise\Promise startNotebookRunAsync(array $args = [])
* @method \Aws\Result startNotebookSync(array $args = [])
* @method \GuzzleHttp\Promise\Promise startNotebookSyncAsync(array $args = [])
* @method \Aws\Result stopNotebookRun(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopNotebookRunAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])

View file

@ -19,6 +19,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createChatAsync(array $args = [])
* @method \Aws\Result createPrivateConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPrivateConnectionAsync(array $args = [])
* @method \Aws\Result createTrigger(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTriggerAsync(array $args = [])
* @method \Aws\Result deleteAgentSpace(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAgentSpaceAsync(array $args = [])
* @method \Aws\Result deleteAsset(array $args = [])
@ -27,6 +29,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteAssetFileAsync(array $args = [])
* @method \Aws\Result deletePrivateConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePrivateConnectionAsync(array $args = [])
* @method \Aws\Result deleteTrigger(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTriggerAsync(array $args = [])
* @method \Aws\Result deregisterService(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterServiceAsync(array $args = [])
* @method \Aws\Result describePrivateConnection(array $args = [])
@ -57,6 +61,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getRecommendationAsync(array $args = [])
* @method \Aws\Result getService(array $args = [])
* @method \GuzzleHttp\Promise\Promise getServiceAsync(array $args = [])
* @method \Aws\Result getTrigger(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTriggerAsync(array $args = [])
* @method \Aws\Result listAgentSpaces(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAgentSpacesAsync(array $args = [])
* @method \Aws\Result listAssetFiles(array $args = [])
@ -89,6 +95,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listServicesAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result listTriggers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTriggersAsync(array $args = [])
* @method \Aws\Result listWebhooks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listWebhooksAsync(array $args = [])
* @method \Aws\Result registerService(array $args = [])
@ -117,6 +125,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updatePrivateConnectionCertificateAsync(array $args = [])
* @method \Aws\Result updateRecommendation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRecommendationAsync(array $args = [])
* @method \Aws\Result updateTrigger(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTriggerAsync(array $args = [])
* @method \Aws\Result validateAwsAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise validateAwsAssociationsAsync(array $args = [])
*/

View file

@ -112,6 +112,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise disassociateConnectionFromLagAsync(array $args = [])
* @method \Aws\Result disassociateMacSecKey(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateMacSecKeyAsync(array $args = [])
* @method \Aws\Result listVirtualInterfaceRoutes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listVirtualInterfaceRoutesAsync(array $args = [])
* @method \Aws\Result listVirtualInterfaceTestHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise listVirtualInterfaceTestHistoryAsync(array $args = [])
* @method \Aws\Result startBgpFailoverTest(array $args = [])

View file

@ -111,6 +111,8 @@ use GuzzleHttp\Promise\Create;
* @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 searchVectors(array $args = []) (supported in versions 2012-08-10)
* @method \GuzzleHttp\Promise\Promise searchVectorsAsync(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 transactGetItems(array $args = []) (supported in versions 2012-08-10)

View file

@ -11,6 +11,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise associateEncryptionConfigAsync(array $args = [])
* @method \Aws\Result associateIdentityProviderConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateIdentityProviderConfigAsync(array $args = [])
* @method \Aws\Result cancelUpdate(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelUpdateAsync(array $args = [])
* @method \Aws\Result createAccessEntry(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAccessEntryAsync(array $args = [])
* @method \Aws\Result createAddon(array $args = [])

View file

@ -19,6 +19,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteJobTemplateAsync(array $args = [])
* @method \Aws\Result deleteManagedEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteManagedEndpointAsync(array $args = [])
* @method \Aws\Result deleteSecurityConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSecurityConfigurationAsync(array $args = [])
* @method \Aws\Result deleteVirtualCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteVirtualClusterAsync(array $args = [])
* @method \Aws\Result describeJobRun(array $args = [])
@ -51,5 +53,7 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateVirtualCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateVirtualClusterAsync(array $args = [])
*/
class EMRContainersClient extends AwsClient {}

View file

@ -458,6 +458,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise assignIpv6AddressesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result assignPrivateNatGatewayAddress(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise assignPrivateNatGatewayAddressAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result associateApplicationStatusCheck(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise associateApplicationStatusCheckAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result associateCapacityReservationBillingOwner(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise associateCapacityReservationBillingOwnerAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result associateClientVpnTargetNetwork(array $args = []) (supported in versions 2016-11-15)
@ -490,10 +492,14 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise associateTrunkInterfaceAsync(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 attachImageWatermark(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise attachImageWatermarkAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result attachVerifiedAccessTrustProvider(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise attachVerifiedAccessTrustProviderAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result authorizeClientVpnIngress(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise authorizeClientVpnIngressAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result batchModifyIpamRoutingPolicyRegistrations(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise batchModifyIpamRoutingPolicyRegistrationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result cancelCapacityReservation(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise cancelCapacityReservationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result cancelCapacityReservationFleets(array $args = []) (supported in versions 2016-11-15)
@ -506,6 +512,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise copyFpgaImageAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result copyVolumes(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise copyVolumesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createApplicationStatusCheck(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createApplicationStatusCheckAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createCapacityManagerDataExport(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createCapacityManagerDataExportAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createCapacityReservation(array $args = []) (supported in versions 2016-11-15)
@ -550,6 +558,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise createIpamAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createIpamExternalResourceVerificationToken(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createIpamExternalResourceVerificationTokenAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createIpamInternetRegistryAssociation(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createIpamInternetRegistryAssociationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createIpamPolicy(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createIpamPolicyAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createIpamPool(array $args = []) (supported in versions 2016-11-15)
@ -560,6 +570,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise createIpamPrefixListResolverTargetAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createIpamResourceDiscovery(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createIpamResourceDiscoveryAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createIpamRoutingPolicyRegistration(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createIpamRoutingPolicyRegistrationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createIpamScope(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createIpamScopeAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createLaunchTemplate(array $args = []) (supported in versions 2016-11-15)
@ -634,6 +646,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise createTransitGatewayPeeringAttachmentAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createTransitGatewayPolicyTable(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createTransitGatewayPolicyTableAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createTransitGatewayPolicyTableEntry(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createTransitGatewayPolicyTableEntryAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createTransitGatewayPrefixListReference(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createTransitGatewayPrefixListReferenceAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createTransitGatewayRoute(array $args = []) (supported in versions 2016-11-15)
@ -662,6 +676,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise createVpcEndpointServiceConfigurationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result createVpnConcentrator(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise createVpnConcentratorAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteApplicationStatusCheck(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteApplicationStatusCheckAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteCapacityManagerDataExport(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteCapacityManagerDataExportAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteCarrierGateway(array $args = []) (supported in versions 2016-11-15)
@ -690,6 +706,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise deleteIpamAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteIpamExternalResourceVerificationToken(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteIpamExternalResourceVerificationTokenAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteIpamInternetRegistryAssociation(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteIpamInternetRegistryAssociationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteIpamPolicy(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteIpamPolicyAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteIpamPool(array $args = []) (supported in versions 2016-11-15)
@ -700,6 +718,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise deleteIpamPrefixListResolverTargetAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteIpamResourceDiscovery(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteIpamResourceDiscoveryAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteIpamRoutingPolicyRegistration(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteIpamRoutingPolicyRegistrationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteIpamScope(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteIpamScopeAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteLaunchTemplate(array $args = []) (supported in versions 2016-11-15)
@ -772,6 +792,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise deleteTransitGatewayPeeringAttachmentAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteTransitGatewayPolicyTable(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteTransitGatewayPolicyTableAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteTransitGatewayPolicyTableEntry(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteTransitGatewayPolicyTableEntryAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteTransitGatewayPrefixListReference(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deleteTransitGatewayPrefixListReferenceAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deleteTransitGatewayRoute(array $args = []) (supported in versions 2016-11-15)
@ -814,12 +836,20 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise deregisterTransitGatewayMulticastGroupMembersAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result deregisterTransitGatewayMulticastGroupSources(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise deregisterTransitGatewayMulticastGroupSourcesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeAccountVpcEncryptionControl(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeAccountVpcEncryptionControlAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeAddressTransfers(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeAddressTransfersAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeAddressesAttribute(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeAddressesAttributeAsync(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 describeApplicationStatus(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeApplicationStatusAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeApplicationStatusCheckAssociations(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeApplicationStatusCheckAssociationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeApplicationStatusChecks(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeApplicationStatusChecksAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeAwsNetworkPerformanceMetricSubscriptions(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeAwsNetworkPerformanceMetricSubscriptionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeByoipCidrs(array $args = []) (supported in versions 2016-11-15)
@ -914,6 +944,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise describeIpamByoasnAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeIpamExternalResourceVerificationTokens(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeIpamExternalResourceVerificationTokensAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeIpamInternetRegistryAssociations(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeIpamInternetRegistryAssociationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeIpamPolicies(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeIpamPoliciesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeIpamPoolAllocations(array $args = []) (supported in versions 2016-11-15)
@ -1060,12 +1092,16 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise describeVpcEndpointServicePermissionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result describeVpnConcentrators(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise describeVpnConcentratorsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result detachImageWatermark(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise detachImageWatermarkAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result detachVerifiedAccessTrustProvider(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise detachVerifiedAccessTrustProviderAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disableAddressTransfer(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disableAddressTransferAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disableAllowedImagesSettings(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disableAllowedImagesSettingsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disableApplicationStatusCheckSuppression(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disableApplicationStatusCheckSuppressionAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disableAwsNetworkPerformanceMetricSubscription(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disableAwsNetworkPerformanceMetricSubscriptionAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disableCapacityManager(array $args = []) (supported in versions 2016-11-15)
@ -1098,6 +1134,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise disableSnapshotBlockPublicAccessAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disableTransitGatewayRouteTablePropagation(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disableTransitGatewayRouteTablePropagationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disassociateApplicationStatusCheck(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disassociateApplicationStatusCheckAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disassociateCapacityReservationBillingOwner(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise disassociateCapacityReservationBillingOwnerAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result disassociateClientVpnTargetNetwork(array $args = []) (supported in versions 2016-11-15)
@ -1134,6 +1172,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise enableAddressTransferAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result enableAllowedImagesSettings(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise enableAllowedImagesSettingsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result enableApplicationStatusCheckSuppression(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise enableApplicationStatusCheckSuppressionAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result enableAwsNetworkPerformanceMetricSubscription(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise enableAwsNetworkPerformanceMetricSubscriptionAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result enableCapacityManager(array $args = []) (supported in versions 2016-11-15)
@ -1154,6 +1194,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise enableImageDeregistrationProtectionAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result enableInstanceSqlHaStandbyDetections(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise enableInstanceSqlHaStandbyDetectionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result enableIpamInternetRegistryAssociation(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise enableIpamInternetRegistryAssociationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result enableIpamOrganizationAdminAccount(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise enableIpamOrganizationAdminAccountAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result enableIpamPolicy(array $args = []) (supported in versions 2016-11-15)
@ -1234,6 +1276,12 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise getIpamDiscoveredPublicAddressesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamDiscoveredResourceCidrs(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamDiscoveredResourceCidrsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamDiscoveredRoutes(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamDiscoveredRoutesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamInternetRegistryAssociationAsns(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamInternetRegistryAssociationAsnsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamInternetRegistryAssociationCidrs(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamInternetRegistryAssociationCidrsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamPolicyAllocationRules(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamPolicyAllocationRulesAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamPolicyOrganizationTargets(array $args = []) (supported in versions 2016-11-15)
@ -1250,6 +1298,14 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise getIpamPrefixListResolverVersionsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamResourceCidrs(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamResourceCidrsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamRouteOriginAuthorizations(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamRouteOriginAuthorizationsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamRouteProtectionFindings(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamRouteProtectionFindingsAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamRoutingPolicyRegistrationDeltas(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamRoutingPolicyRegistrationDeltasAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result getIpamRoutingPolicyRegistrations(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise getIpamRoutingPolicyRegistrationsAsync(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 getManagedPrefixListAssociations(array $args = []) (supported in versions 2016-11-15)
@ -1318,8 +1374,12 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise listVolumesInRecycleBinAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result lockSnapshot(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise lockSnapshotAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyAccountVpcEncryptionControl(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyAccountVpcEncryptionControlAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyAddressAttribute(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyAddressAttributeAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyApplicationStatusCheck(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyApplicationStatusCheckAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyAvailabilityZoneGroup(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyAvailabilityZoneGroupAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyCapacityReservation(array $args = []) (supported in versions 2016-11-15)
@ -1372,6 +1432,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise modifyIpamResourceCidrAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyIpamResourceDiscovery(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyIpamResourceDiscoveryAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyIpamRoutingPolicyRegistration(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyIpamRoutingPolicyRegistrationAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyIpamScope(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyIpamScopeAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyLaunchTemplate(array $args = []) (supported in versions 2016-11-15)
@ -1402,6 +1464,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise modifyTransitGatewayAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyTransitGatewayMeteringPolicy(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyTransitGatewayMeteringPolicyAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyTransitGatewayPolicyTableEntry(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyTransitGatewayPolicyTableEntryAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyTransitGatewayPrefixListReference(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyTransitGatewayPrefixListReferenceAsync(array $args = []) (supported in versions 2016-11-15)
* @method \Aws\Result modifyTransitGatewayVpcAttachment(array $args = []) (supported in versions 2016-11-15)
@ -1430,6 +1494,8 @@ use Aws\PresignUrlMiddleware;
* @method \GuzzleHttp\Promise\Promise modifyVpcEncryptionControlAsync(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 modifyVpcEndpointPayerResponsibility(array $args = []) (supported in versions 2016-11-15)
* @method \GuzzleHttp\Promise\Promise modifyVpcEndpointPayerResponsibilityAsync(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 modifyVpcEndpointServicePayerResponsibility(array $args = []) (supported in versions 2016-11-15)

View file

@ -29,6 +29,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listFeedsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result searchFixtures(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchFixturesAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])

View file

@ -59,13 +59,25 @@ class RulesetStandardLibrary
*/
public function getAttr($from, $path)
{
// Handles the case where "[<int|string]" is provided as the top-level path
if (preg_match('/^\[(\w+)\]$/', $path, $matches)) {
$index = is_numeric($matches[1]) ? (int) $matches[1] : $matches[1];
return $from[$index] ?? null;
// Handles the case where "[<int|string>]" is provided as the top-level
// path. `\w` alone doesn't cover negative indices (e.g. `[-2]`) which
// the smithy rules engine uses to reference the second-to-last element,
// so we accept either a signed integer or a bare identifier.
if (preg_match('/^\[(-?\d+|\w+)\]$/', $path, $matches)) {
$token = $matches[1];
if (is_numeric($token)) {
$index = (int) $token;
// Fold negative indices to Python-style access from the end,
// matching the reference engine's semantics.
if ($index < 0 && is_array($from)) {
$index += count($from);
}
return $from[$index] ?? null;
}
return $from[$token] ?? null;
}
$parts = explode('.', $path);
foreach ($parts as $part) {
$sliceIdx = strpos($part, '[');

View file

@ -13,8 +13,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createStreamGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStreamGroupAsync(array $args = [])
* @method \Aws\Result createStreamSessionAdminShell(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStreamSessionAdminShellAsync(array $args = [])
* @method \Aws\Result createStreamSessionConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStreamSessionConnectionAsync(array $args = [])
* @method \Aws\Result createStreamUrl(array $args = [])
* @method \GuzzleHttp\Promise\Promise createStreamUrlAsync(array $args = [])
* @method \Aws\Result deleteApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = [])
* @method \Aws\Result deleteStreamGroup(array $args = [])
@ -29,6 +33,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getStreamGroupAsync(array $args = [])
* @method \Aws\Result getStreamSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise getStreamSessionAsync(array $args = [])
* @method \Aws\Result getStreamUrl(array $args = [])
* @method \GuzzleHttp\Promise\Promise getStreamUrlAsync(array $args = [])
* @method \Aws\Result listApplicationShaderCaches(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationShaderCachesAsync(array $args = [])
* @method \Aws\Result listApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = [])
* @method \Aws\Result listStreamGroups(array $args = [])
@ -37,10 +45,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listStreamSessionsAsync(array $args = [])
* @method \Aws\Result listStreamSessionsByAccount(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStreamSessionsByAccountAsync(array $args = [])
* @method \Aws\Result listStreamUrls(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStreamUrlsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result removeStreamGroupLocations(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeStreamGroupLocationsAsync(array $args = [])
* @method \Aws\Result revokeStreamUrl(array $args = [])
* @method \GuzzleHttp\Promise\Promise revokeStreamUrlAsync(array $args = [])
* @method \Aws\Result startStreamSession(array $args = [])
* @method \GuzzleHttp\Promise\Promise startStreamSessionAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])

View file

@ -5,6 +5,8 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Glue** service.
* @method \Aws\Result associateGlossaryTerms(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateGlossaryTermsAsync(array $args = [])
* @method \Aws\Result batchCreatePartition(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchCreatePartitionAsync(array $args = [])
* @method \Aws\Result batchDeleteConnection(array $args = [])
@ -23,8 +25,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise batchGetCustomEntityTypesAsync(array $args = [])
* @method \Aws\Result batchGetDataQualityResult(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetDataQualityResultAsync(array $args = [])
* @method \Aws\Result batchGetDataQualityRulesetEvaluationRun(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetDataQualityRulesetEvaluationRunAsync(array $args = [])
* @method \Aws\Result batchGetDevEndpoints(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetDevEndpointsAsync(array $args = [])
* @method \Aws\Result batchGetIterableForms(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetIterableFormsAsync(array $args = [])
* @method \Aws\Result batchGetJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetJobsAsync(array $args = [])
* @method \Aws\Result batchGetPartition(array $args = [])
@ -71,6 +77,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createDatabaseAsync(array $args = [])
* @method \Aws\Result createDevEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDevEndpointAsync(array $args = [])
* @method \Aws\Result createGlossary(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGlossaryAsync(array $args = [])
* @method \Aws\Result createGlossaryTerm(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGlossaryTermAsync(array $args = [])
* @method \Aws\Result createGlueIdentityCenterConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGlueIdentityCenterConfigurationAsync(array $args = [])
* @method \Aws\Result createIntegration(array $args = [])
@ -109,6 +119,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createUserDefinedFunctionAsync(array $args = [])
* @method \Aws\Result createWorkflow(array $args = [])
* @method \GuzzleHttp\Promise\Promise createWorkflowAsync(array $args = [])
* @method \Aws\Result deleteAsset(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAssetAsync(array $args = [])
* @method \Aws\Result deleteAssetType(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAssetTypeAsync(array $args = [])
* @method \Aws\Result deleteAttachment(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAttachmentAsync(array $args = [])
* @method \Aws\Result deleteBlueprint(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBlueprintAsync(array $args = [])
* @method \Aws\Result deleteCatalog(array $args = [])
@ -135,6 +151,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteDatabaseAsync(array $args = [])
* @method \Aws\Result deleteDevEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDevEndpointAsync(array $args = [])
* @method \Aws\Result deleteFormType(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFormTypeAsync(array $args = [])
* @method \Aws\Result deleteGlossary(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGlossaryAsync(array $args = [])
* @method \Aws\Result deleteGlossaryTerm(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGlossaryTermAsync(array $args = [])
* @method \Aws\Result deleteGlueIdentityCenterConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGlueIdentityCenterConfigurationAsync(array $args = [])
* @method \Aws\Result deleteIntegration(array $args = [])
@ -185,6 +207,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeInboundIntegrationsAsync(array $args = [])
* @method \Aws\Result describeIntegrations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeIntegrationsAsync(array $args = [])
* @method \Aws\Result disassociateGlossaryTerms(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateGlossaryTermsAsync(array $args = [])
* @method \Aws\Result getAsset(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAssetAsync(array $args = [])
* @method \Aws\Result getAssetType(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAssetTypeAsync(array $args = [])
* @method \Aws\Result getBlueprint(array $args = [])
* @method \GuzzleHttp\Promise\Promise getBlueprintAsync(array $args = [])
* @method \Aws\Result getBlueprintRun(array $args = [])
@ -227,6 +255,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getDashboardUrlAsync(array $args = [])
* @method \Aws\Result getDataCatalogEncryptionSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDataCatalogEncryptionSettingsAsync(array $args = [])
* @method \Aws\Result getDataCatalogExportConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDataCatalogExportConfigurationAsync(array $args = [])
* @method \Aws\Result getDataQualityModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDataQualityModelAsync(array $args = [])
* @method \Aws\Result getDataQualityModelResult(array $args = [])
@ -251,6 +281,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getDevEndpointsAsync(array $args = [])
* @method \Aws\Result getEntityRecords(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEntityRecordsAsync(array $args = [])
* @method \Aws\Result getFormType(array $args = [])
* @method \GuzzleHttp\Promise\Promise getFormTypeAsync(array $args = [])
* @method \Aws\Result getGlossary(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGlossaryAsync(array $args = [])
* @method \Aws\Result getGlossaryTerm(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGlossaryTermAsync(array $args = [])
* @method \Aws\Result getGlueIdentityCenterConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getGlueIdentityCenterConfigurationAsync(array $args = [])
* @method \Aws\Result getIntegrationResourceProperty(array $args = [])
@ -349,6 +385,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getWorkflowRunsAsync(array $args = [])
* @method \Aws\Result importCatalogToGlue(array $args = [])
* @method \GuzzleHttp\Promise\Promise importCatalogToGlueAsync(array $args = [])
* @method \Aws\Result listAssetTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssetTypesAsync(array $args = [])
* @method \Aws\Result listBlueprints(array $args = [])
* @method \GuzzleHttp\Promise\Promise listBlueprintsAsync(array $args = [])
* @method \Aws\Result listColumnStatisticsTaskRuns(array $args = [])
@ -377,8 +415,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listDevEndpointsAsync(array $args = [])
* @method \Aws\Result listEntities(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEntitiesAsync(array $args = [])
* @method \Aws\Result listFormTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFormTypesAsync(array $args = [])
* @method \Aws\Result listGlossaries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGlossariesAsync(array $args = [])
* @method \Aws\Result listGlossaryTerms(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGlossaryTermsAsync(array $args = [])
* @method \Aws\Result listIntegrationResourceProperties(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIntegrationResourcePropertiesAsync(array $args = [])
* @method \Aws\Result listIterableForms(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIterableFormsAsync(array $args = [])
* @method \Aws\Result listJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = [])
* @method \Aws\Result listMLTransforms(array $args = [])
@ -405,10 +451,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listWorkflowsAsync(array $args = [])
* @method \Aws\Result modifyIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyIntegrationAsync(array $args = [])
* @method \Aws\Result putAsset(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAssetAsync(array $args = [])
* @method \Aws\Result putAssetType(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAssetTypeAsync(array $args = [])
* @method \Aws\Result putAttachment(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAttachmentAsync(array $args = [])
* @method \Aws\Result putDataCatalogEncryptionSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise putDataCatalogEncryptionSettingsAsync(array $args = [])
* @method \Aws\Result putDataCatalogExportConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putDataCatalogExportConfigurationAsync(array $args = [])
* @method \Aws\Result putDataQualityProfileAnnotation(array $args = [])
* @method \GuzzleHttp\Promise\Promise putDataQualityProfileAnnotationAsync(array $args = [])
* @method \Aws\Result putFormType(array $args = [])
* @method \GuzzleHttp\Promise\Promise putFormTypeAsync(array $args = [])
* @method \Aws\Result putResourcePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putResourcePolicyAsync(array $args = [])
* @method \Aws\Result putSchemaVersionMetadata(array $args = [])
@ -429,6 +485,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise resumeWorkflowRunAsync(array $args = [])
* @method \Aws\Result runStatement(array $args = [])
* @method \GuzzleHttp\Promise\Promise runStatementAsync(array $args = [])
* @method \Aws\Result searchAssets(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchAssetsAsync(array $args = [])
* @method \Aws\Result searchTables(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchTablesAsync(array $args = [])
* @method \Aws\Result startBlueprintRun(array $args = [])
@ -483,6 +541,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise testConnectionAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateAsset(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAssetAsync(array $args = [])
* @method \Aws\Result updateBlueprint(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBlueprintAsync(array $args = [])
* @method \Aws\Result updateCatalog(array $args = [])
@ -507,6 +567,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateDatabaseAsync(array $args = [])
* @method \Aws\Result updateDevEndpoint(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDevEndpointAsync(array $args = [])
* @method \Aws\Result updateGlossary(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGlossaryAsync(array $args = [])
* @method \Aws\Result updateGlossaryTerm(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGlossaryTermAsync(array $args = [])
* @method \Aws\Result updateGlueIdentityCenterConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGlueIdentityCenterConfigurationAsync(array $args = [])
* @method \Aws\Result updateIntegrationResourceProperty(array $args = [])

View file

@ -17,6 +17,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createFilterAsync(array $args = [])
* @method \Aws\Result createIPSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIPSetAsync(array $args = [])
* @method \Aws\Result createInvestigation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createInvestigationAsync(array $args = [])
* @method \Aws\Result createMalwareProtectionPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMalwareProtectionPlanAsync(array $args = [])
* @method \Aws\Result createMembers(array $args = [])
@ -83,6 +85,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getFindingsStatisticsAsync(array $args = [])
* @method \Aws\Result getIPSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIPSetAsync(array $args = [])
* @method \Aws\Result getInvestigation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInvestigationAsync(array $args = [])
* @method \Aws\Result getInvitationsCount(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInvitationsCountAsync(array $args = [])
* @method \Aws\Result getMalwareProtectionPlan(array $args = [])
@ -121,6 +125,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listFindingsAsync(array $args = [])
* @method \Aws\Result listIPSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIPSetsAsync(array $args = [])
* @method \Aws\Result listInvestigations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listInvestigationsAsync(array $args = [])
* @method \Aws\Result listInvitations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listInvitationsAsync(array $args = [])
* @method \Aws\Result listMalwareProtectionPlans(array $args = [])

View file

@ -1,9 +1,7 @@
<?php
namespace Aws\Handler\Guzzle;
use Exception;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use Aws\Handler\HttpHandlerError;
use GuzzleHttp\Utils;
use GuzzleHttp\Promise;
use GuzzleHttp\Client;
@ -31,7 +29,7 @@ class GuzzleHandler
* @param Psr7Request $request
* @param array $options
*
* @return Promise\Promise
* @return Promise\PromiseInterface
*/
public function __invoke(Psr7Request $request, array $options = [])
{
@ -43,21 +41,12 @@ class GuzzleHandler
return $this->client->sendAsync($request, $this->parseOptions($options))
->otherwise(
static function ($e) {
$error = [
static function (\Throwable $e) {
return new Promise\RejectedPromise([
'exception' => $e,
'connection_error' => $e instanceof ConnectException,
'response' => null,
];
if (
($e instanceof RequestException)
&& $e->getResponse()
) {
$error['response'] = $e->getResponse();
}
return new Promise\RejectedPromise($error);
'connection_error' => HttpHandlerError::isConnectionError($e),
'response' => HttpHandlerError::getResponse($e),
]);
}
);
}

View file

@ -0,0 +1,56 @@
<?php
namespace Aws\Handler;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\NetworkException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ResponseException;
use GuzzleHttp\Exception\ResponseTransferException;
use Psr\Http\Message\ResponseInterface;
/**
* @internal
*/
final class HttpHandlerError
{
private const CURLE_RECV_ERROR = 56;
public static function isConnectionError(\Throwable $exception): bool
{
// Guzzle 8: transfer failures have dedicated exception classes.
if ($exception instanceof NetworkException || $exception instanceof ResponseTransferException) {
return true;
}
// Guzzle 7: connection establishment failures use ConnectException.
if ($exception instanceof ConnectException) {
return true;
}
// Guzzle 7: mid-response receive failures identifiable by cURL handler context.
if ($exception instanceof RequestException && is_callable([$exception, 'getHandlerContext'])
) {
$context = $exception->getHandlerContext();
return !empty($context['errno']) && $context['errno'] === self::CURLE_RECV_ERROR;
}
return false;
}
public static function getResponse(\Throwable $exception): ?ResponseInterface
{
// Guzzle 8: response-aware failures expose the response through ResponseException.
if ($exception instanceof ResponseException) {
return $exception->getResponse();
}
// Guzzle 7: RequestException directly carried an optional response.
if ($exception instanceof RequestException && is_callable([$exception, 'getResponse'])
) {
return $exception->getResponse();
}
return null;
}
}

View file

@ -5,16 +5,30 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **Amazon HealthLake** service.
* @method \Aws\Result createDataTransformationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDataTransformationProfileAsync(array $args = [])
* @method \Aws\Result createFHIRDatastore(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFHIRDatastoreAsync(array $args = [])
* @method \Aws\Result deleteDataTransformationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDataTransformationProfileAsync(array $args = [])
* @method \Aws\Result deleteFHIRDatastore(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFHIRDatastoreAsync(array $args = [])
* @method \Aws\Result describeDataTransformationJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDataTransformationJobAsync(array $args = [])
* @method \Aws\Result describeFHIRDatastore(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFHIRDatastoreAsync(array $args = [])
* @method \Aws\Result describeFHIRExportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFHIRExportJobAsync(array $args = [])
* @method \Aws\Result describeFHIRImportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFHIRImportJobAsync(array $args = [])
* @method \Aws\Result getDataTransformationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDataTransformationProfileAsync(array $args = [])
* @method \Aws\Result listDataTransformationJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataTransformationJobsAsync(array $args = [])
* @method \Aws\Result listDataTransformationProfileVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataTransformationProfileVersionsAsync(array $args = [])
* @method \Aws\Result listDataTransformationProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataTransformationProfilesAsync(array $args = [])
* @method \Aws\Result listFHIRDatastores(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFHIRDatastoresAsync(array $args = [])
* @method \Aws\Result listFHIRExportJobs(array $args = [])
@ -23,6 +37,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listFHIRImportJobsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result publishDataTransformationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise publishDataTransformationProfileAsync(array $args = [])
* @method \Aws\Result startDataTransformationJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDataTransformationJobAsync(array $args = [])
* @method \Aws\Result startFHIRExportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startFHIRExportJobAsync(array $args = [])
* @method \Aws\Result startFHIRImportJob(array $args = [])
@ -31,5 +49,11 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateDataTransformationProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDataTransformationProfileAsync(array $args = [])
* @method \Aws\Result updateFHIRDatastore(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFHIRDatastoreAsync(array $args = [])
* @method \Aws\Result updateProfileWithAgent(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProfileWithAgentAsync(array $args = [])
*/
class HealthLakeClient extends AwsClient {}

View file

@ -8,6 +8,8 @@ use Aws\AwsClient;
*
* @method \Aws\Result acceptDelegationRequest(array $args = [])
* @method \GuzzleHttp\Promise\Promise acceptDelegationRequestAsync(array $args = [])
* @method \Aws\Result acquireRole(array $args = [])
* @method \GuzzleHttp\Promise\Promise acquireRoleAsync(array $args = [])
* @method \Aws\Result addClientIDToOpenIDConnectProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise addClientIDToOpenIDConnectProviderAsync(array $args = [])
* @method \Aws\Result addRoleToInstanceProfile(array $args = [])
@ -134,6 +136,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getAccountAuthorizationDetailsAsync(array $args = [])
* @method \Aws\Result getAccountPasswordPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountPasswordPolicyAsync(array $args = [])
* @method \Aws\Result getAccountProperties(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountPropertiesAsync(array $args = [])
* @method \Aws\Result getAccountSummary(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAccountSummaryAsync(array $args = [])
* @method \Aws\Result getContextKeysForCustomPolicy(array $args = [])
@ -170,6 +174,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getRoleAsync(array $args = [])
* @method \Aws\Result getRolePolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRolePolicyAsync(array $args = [])
* @method \Aws\Result getRoleTemplateVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRoleTemplateVersionAsync(array $args = [])
* @method \Aws\Result getSAMLProvider(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSAMLProviderAsync(array $args = [])
* @method \Aws\Result getSSHPublicKey(array $args = [])
@ -258,6 +264,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = [])
* @method \Aws\Result listVirtualMFADevices(array $args = [])
* @method \GuzzleHttp\Promise\Promise listVirtualMFADevicesAsync(array $args = [])
* @method \Aws\Result putAccountProperties(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAccountPropertiesAsync(array $args = [])
* @method \Aws\Result putGroupPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putGroupPolicyAsync(array $args = [])
* @method \Aws\Result putRolePermissionsBoundary(array $args = [])

View file

@ -33,6 +33,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createCodeSecurityIntegrationAsync(array $args = [])
* @method \Aws\Result createCodeSecurityScanConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCodeSecurityScanConfigurationAsync(array $args = [])
* @method \Aws\Result createConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise createConnectorAsync(array $args = [])
* @method \Aws\Result createFilter(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFilterAsync(array $args = [])
* @method \Aws\Result createFindingsReport(array $args = [])
@ -45,6 +47,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteCodeSecurityIntegrationAsync(array $args = [])
* @method \Aws\Result deleteCodeSecurityScanConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCodeSecurityScanConfigurationAsync(array $args = [])
* @method \Aws\Result deleteConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConnectorAsync(array $args = [])
* @method \Aws\Result deleteFilter(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFilterAsync(array $args = [])
* @method \Aws\Result describeOrganizationConfiguration(array $args = [])
@ -101,6 +105,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listCodeSecurityScanConfigurationAssociationsAsync(array $args = [])
* @method \Aws\Result listCodeSecurityScanConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCodeSecurityScanConfigurationsAsync(array $args = [])
* @method \Aws\Result listConnectorScanConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConnectorScanConfigurationsAsync(array $args = [])
* @method \Aws\Result listConnectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listConnectorsAsync(array $args = [])
* @method \Aws\Result listCoverage(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCoverageAsync(array $args = [])
* @method \Aws\Result listCoverageStatistics(array $args = [])
@ -145,6 +153,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateCodeSecurityScanConfigurationAsync(array $args = [])
* @method \Aws\Result updateConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConfigurationAsync(array $args = [])
* @method \Aws\Result updateConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConnectorAsync(array $args = [])
* @method \Aws\Result updateConnectorScanConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConnectorScanConfigurationAsync(array $args = [])
* @method \Aws\Result updateEc2DeepInspectionConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateEc2DeepInspectionConfigurationAsync(array $args = [])
* @method \Aws\Result updateEncryptionKey(array $args = [])

View file

@ -31,6 +31,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result putProcurementPortalPreference(array $args = [])
* @method \GuzzleHttp\Promise\Promise putProcurementPortalPreferenceAsync(array $args = [])
* @method \Aws\Result sendProcurementPortalValidation(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendProcurementPortalValidationAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
@ -39,5 +41,7 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateInvoiceUnitAsync(array $args = [])
* @method \Aws\Result updateProcurementPortalPreferenceStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProcurementPortalPreferenceStatusAsync(array $args = [])
* @method \Aws\Result verifyProcurementPortalValidation(array $args = [])
* @method \GuzzleHttp\Promise\Promise verifyProcurementPortalValidationAsync(array $args = [])
*/
class InvoicingClient extends AwsClient {}

View file

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

View file

@ -1,61 +0,0 @@
<?php
namespace Aws\IoTEvents;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS IoT Events** service.
* @method \Aws\Result createAlarmModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAlarmModelAsync(array $args = [])
* @method \Aws\Result createDetectorModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDetectorModelAsync(array $args = [])
* @method \Aws\Result createInput(array $args = [])
* @method \GuzzleHttp\Promise\Promise createInputAsync(array $args = [])
* @method \Aws\Result deleteAlarmModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAlarmModelAsync(array $args = [])
* @method \Aws\Result deleteDetectorModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDetectorModelAsync(array $args = [])
* @method \Aws\Result deleteInput(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteInputAsync(array $args = [])
* @method \Aws\Result describeAlarmModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAlarmModelAsync(array $args = [])
* @method \Aws\Result describeDetectorModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDetectorModelAsync(array $args = [])
* @method \Aws\Result describeDetectorModelAnalysis(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDetectorModelAnalysisAsync(array $args = [])
* @method \Aws\Result describeInput(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeInputAsync(array $args = [])
* @method \Aws\Result describeLoggingOptions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLoggingOptionsAsync(array $args = [])
* @method \Aws\Result getDetectorModelAnalysisResults(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDetectorModelAnalysisResultsAsync(array $args = [])
* @method \Aws\Result listAlarmModelVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAlarmModelVersionsAsync(array $args = [])
* @method \Aws\Result listAlarmModels(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAlarmModelsAsync(array $args = [])
* @method \Aws\Result listDetectorModelVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDetectorModelVersionsAsync(array $args = [])
* @method \Aws\Result listDetectorModels(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDetectorModelsAsync(array $args = [])
* @method \Aws\Result listInputRoutings(array $args = [])
* @method \GuzzleHttp\Promise\Promise listInputRoutingsAsync(array $args = [])
* @method \Aws\Result listInputs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listInputsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result putLoggingOptions(array $args = [])
* @method \GuzzleHttp\Promise\Promise putLoggingOptionsAsync(array $args = [])
* @method \Aws\Result startDetectorModelAnalysis(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDetectorModelAnalysisAsync(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 updateAlarmModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAlarmModelAsync(array $args = [])
* @method \Aws\Result updateDetectorModel(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDetectorModelAsync(array $args = [])
* @method \Aws\Result updateInput(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateInputAsync(array $args = [])
*/
class IoTEventsClient extends AwsClient {}

View file

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

View file

@ -1,33 +0,0 @@
<?php
namespace Aws\IoTEventsData;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS IoT Events Data** service.
* @method \Aws\Result batchAcknowledgeAlarm(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchAcknowledgeAlarmAsync(array $args = [])
* @method \Aws\Result batchDeleteDetector(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDeleteDetectorAsync(array $args = [])
* @method \Aws\Result batchDisableAlarm(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDisableAlarmAsync(array $args = [])
* @method \Aws\Result batchEnableAlarm(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchEnableAlarmAsync(array $args = [])
* @method \Aws\Result batchPutMessage(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchPutMessageAsync(array $args = [])
* @method \Aws\Result batchResetAlarm(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchResetAlarmAsync(array $args = [])
* @method \Aws\Result batchSnoozeAlarm(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchSnoozeAlarmAsync(array $args = [])
* @method \Aws\Result batchUpdateDetector(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchUpdateDetectorAsync(array $args = [])
* @method \Aws\Result describeAlarm(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAlarmAsync(array $args = [])
* @method \Aws\Result describeDetector(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDetectorAsync(array $args = [])
* @method \Aws\Result listAlarms(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAlarmsAsync(array $args = [])
* @method \Aws\Result listDetectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDetectorsAsync(array $args = [])
*/
class IoTEventsDataClient extends AwsClient {}

View file

@ -9,8 +9,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise associateAssetsAsync(array $args = [])
* @method \Aws\Result associateTimeSeriesToAssetProperty(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateTimeSeriesToAssetPropertyAsync(array $args = [])
* @method \Aws\Result batchAssociateDataSegmentsToDataset(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchAssociateDataSegmentsToDatasetAsync(array $args = [])
* @method \Aws\Result batchAssociateProjectAssets(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchAssociateProjectAssetsAsync(array $args = [])
* @method \Aws\Result batchDeleteDatasetDataSegments(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDeleteDatasetDataSegmentsAsync(array $args = [])
* @method \Aws\Result batchDisassociateDataSegmentsFromDataset(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDisassociateDataSegmentsFromDatasetAsync(array $args = [])
* @method \Aws\Result batchDisassociateProjectAssets(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDisassociateProjectAssetsAsync(array $args = [])
* @method \Aws\Result batchGetAssetPropertyAggregates(array $args = [])
@ -21,8 +27,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise batchGetAssetPropertyValueHistoryAsync(array $args = [])
* @method \Aws\Result batchPutAssetPropertyValue(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchPutAssetPropertyValueAsync(array $args = [])
* @method \Aws\Result cancelEnrichmentJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelEnrichmentJobAsync(array $args = [])
* @method \Aws\Result cancelPipelineExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelPipelineExecutionAsync(array $args = [])
* @method \Aws\Result cancelQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelQueryAsync(array $args = [])
* @method \Aws\Result createAccessPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAccessPolicyAsync(array $args = [])
* @method \Aws\Result createApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = [])
* @method \Aws\Result createAsset(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAssetAsync(array $args = [])
* @method \Aws\Result createAssetModel(array $args = [])
@ -37,14 +51,26 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createDashboardAsync(array $args = [])
* @method \Aws\Result createDataset(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDatasetAsync(array $args = [])
* @method \Aws\Result createDatasetExportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDatasetExportJobAsync(array $args = [])
* @method \Aws\Result createEnrichmentJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise createEnrichmentJobAsync(array $args = [])
* @method \Aws\Result createGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise createGatewayAsync(array $args = [])
* @method \Aws\Result createPipeline(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPipelineAsync(array $args = [])
* @method \Aws\Result createPortal(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPortalAsync(array $args = [])
* @method \Aws\Result createProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = [])
* @method \Aws\Result createTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTaskAsync(array $args = [])
* @method \Aws\Result createWorkspace(array $args = [])
* @method \GuzzleHttp\Promise\Promise createWorkspaceAsync(array $args = [])
* @method \Aws\Result deleteAccessPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAccessPolicyAsync(array $args = [])
* @method \Aws\Result deleteApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = [])
* @method \Aws\Result deleteAsset(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAssetAsync(array $args = [])
* @method \Aws\Result deleteAssetModel(array $args = [])
@ -61,16 +87,24 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteDatasetAsync(array $args = [])
* @method \Aws\Result deleteGateway(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteGatewayAsync(array $args = [])
* @method \Aws\Result deletePipeline(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePipelineAsync(array $args = [])
* @method \Aws\Result deletePortal(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePortalAsync(array $args = [])
* @method \Aws\Result deleteProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = [])
* @method \Aws\Result deleteTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTaskAsync(array $args = [])
* @method \Aws\Result deleteTimeSeries(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTimeSeriesAsync(array $args = [])
* @method \Aws\Result deleteWorkspace(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteWorkspaceAsync(array $args = [])
* @method \Aws\Result describeAccessPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAccessPolicyAsync(array $args = [])
* @method \Aws\Result describeAction(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeActionAsync(array $args = [])
* @method \Aws\Result describeApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeApplicationAsync(array $args = [])
* @method \Aws\Result describeAsset(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAssetAsync(array $args = [])
* @method \Aws\Result describeAssetCompositeModel(array $args = [])
@ -93,8 +127,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeDashboardAsync(array $args = [])
* @method \Aws\Result describeDataset(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDatasetAsync(array $args = [])
* @method \Aws\Result describeDatasetExportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDatasetExportJobAsync(array $args = [])
* @method \Aws\Result describeDefaultEncryptionConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDefaultEncryptionConfigurationAsync(array $args = [])
* @method \Aws\Result describeEnrichmentJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeEnrichmentJobAsync(array $args = [])
* @method \Aws\Result describeExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeExecutionAsync(array $args = [])
* @method \Aws\Result describeGateway(array $args = [])
@ -103,14 +141,26 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeGatewayCapabilityConfigurationAsync(array $args = [])
* @method \Aws\Result describeLoggingOptions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLoggingOptionsAsync(array $args = [])
* @method \Aws\Result describePipeline(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePipelineAsync(array $args = [])
* @method \Aws\Result describePipelineExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePipelineExecutionAsync(array $args = [])
* @method \Aws\Result describePortal(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePortalAsync(array $args = [])
* @method \Aws\Result describeProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeProjectAsync(array $args = [])
* @method \Aws\Result describeQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeQueryAsync(array $args = [])
* @method \Aws\Result describeSearch(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSearchAsync(array $args = [])
* @method \Aws\Result describeStorageConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStorageConfigurationAsync(array $args = [])
* @method \Aws\Result describeTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTaskAsync(array $args = [])
* @method \Aws\Result describeTimeSeries(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTimeSeriesAsync(array $args = [])
* @method \Aws\Result describeWorkspace(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeWorkspaceAsync(array $args = [])
* @method \Aws\Result disassociateAssets(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateAssetsAsync(array $args = [])
* @method \Aws\Result disassociateTimeSeriesFromAssetProperty(array $args = [])
@ -125,14 +175,22 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getAssetPropertyValueAsync(array $args = [])
* @method \Aws\Result getAssetPropertyValueHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAssetPropertyValueHistoryAsync(array $args = [])
* @method \Aws\Result getCaptureData(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCaptureDataAsync(array $args = [])
* @method \Aws\Result getInterpolatedAssetPropertyValues(array $args = [])
* @method \GuzzleHttp\Promise\Promise getInterpolatedAssetPropertyValuesAsync(array $args = [])
* @method \Aws\Result getQueryResults(array $args = [])
* @method \GuzzleHttp\Promise\Promise getQueryResultsAsync(array $args = [])
* @method \Aws\Result getSearchResults(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSearchResultsAsync(array $args = [])
* @method \Aws\Result invokeAssistant(array $args = [])
* @method \GuzzleHttp\Promise\Promise invokeAssistantAsync(array $args = [])
* @method \Aws\Result listAccessPolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAccessPoliciesAsync(array $args = [])
* @method \Aws\Result listActions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listActionsAsync(array $args = [])
* @method \Aws\Result listApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = [])
* @method \Aws\Result listAssetModelCompositeModels(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssetModelCompositeModelsAsync(array $args = [])
* @method \Aws\Result listAssetModelProperties(array $args = [])
@ -159,24 +217,44 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listComputationModelsAsync(array $args = [])
* @method \Aws\Result listDashboards(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDashboardsAsync(array $args = [])
* @method \Aws\Result listDatasetDataSegmentRelationships(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDatasetDataSegmentRelationshipsAsync(array $args = [])
* @method \Aws\Result listDatasetDataSegments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDatasetDataSegmentsAsync(array $args = [])
* @method \Aws\Result listDatasetExportJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDatasetExportJobsAsync(array $args = [])
* @method \Aws\Result listDatasets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDatasetsAsync(array $args = [])
* @method \Aws\Result listEnrichmentJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listEnrichmentJobsAsync(array $args = [])
* @method \Aws\Result listExecutions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExecutionsAsync(array $args = [])
* @method \Aws\Result listGateways(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGatewaysAsync(array $args = [])
* @method \Aws\Result listInterfaceRelationships(array $args = [])
* @method \GuzzleHttp\Promise\Promise listInterfaceRelationshipsAsync(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 listPortals(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPortalsAsync(array $args = [])
* @method \Aws\Result listProjectAssets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listProjectAssetsAsync(array $args = [])
* @method \Aws\Result listProjects(array $args = [])
* @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = [])
* @method \Aws\Result listQueries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listQueriesAsync(array $args = [])
* @method \Aws\Result listSearches(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSearchesAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result listTasks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTasksAsync(array $args = [])
* @method \Aws\Result listTimeSeries(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTimeSeriesAsync(array $args = [])
* @method \Aws\Result listWorkspaces(array $args = [])
* @method \GuzzleHttp\Promise\Promise listWorkspacesAsync(array $args = [])
* @method \Aws\Result putAssetModelInterfaceRelationship(array $args = [])
* @method \GuzzleHttp\Promise\Promise putAssetModelInterfaceRelationshipAsync(array $args = [])
* @method \Aws\Result putDefaultEncryptionConfiguration(array $args = [])
@ -185,6 +263,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise putLoggingOptionsAsync(array $args = [])
* @method \Aws\Result putStorageConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putStorageConfigurationAsync(array $args = [])
* @method \Aws\Result startPipelineExecution(array $args = [])
* @method \GuzzleHttp\Promise\Promise startPipelineExecutionAsync(array $args = [])
* @method \Aws\Result startQuery(array $args = [])
* @method \GuzzleHttp\Promise\Promise startQueryAsync(array $args = [])
* @method \Aws\Result startSearch(array $args = [])
* @method \GuzzleHttp\Promise\Promise startSearchAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
@ -209,9 +293,15 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateGatewayAsync(array $args = [])
* @method \Aws\Result updateGatewayCapabilityConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateGatewayCapabilityConfigurationAsync(array $args = [])
* @method \Aws\Result updatePipeline(array $args = [])
* @method \GuzzleHttp\Promise\Promise updatePipelineAsync(array $args = [])
* @method \Aws\Result updatePortal(array $args = [])
* @method \GuzzleHttp\Promise\Promise updatePortalAsync(array $args = [])
* @method \Aws\Result updateProject(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = [])
* @method \Aws\Result updateTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTaskAsync(array $args = [])
* @method \Aws\Result updateWorkspace(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateWorkspaceAsync(array $args = [])
*/
class IoTSiteWiseClient extends AwsClient {}

View file

@ -13,6 +13,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createClusterV2Async(array $args = [])
* @method \Aws\Result createConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createConfigurationAsync(array $args = [])
* @method \Aws\Result createChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise createChannelAsync(array $args = [])
* @method \Aws\Result createReplicator(array $args = [])
* @method \GuzzleHttp\Promise\Promise createReplicatorAsync(array $args = [])
* @method \Aws\Result createTopic(array $args = [])
@ -21,6 +23,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createVpcConnectionAsync(array $args = [])
* @method \Aws\Result deleteCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = [])
* @method \Aws\Result deleteChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteChannelAsync(array $args = [])
* @method \Aws\Result deleteConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteConfigurationAsync(array $args = [])
* @method \Aws\Result deleteReplicator(array $args = [])
@ -37,6 +41,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeClusterOperationAsync(array $args = [])
* @method \Aws\Result describeClusterOperationV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeClusterOperationV2Async(array $args = [])
* @method \Aws\Result describeChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeChannelAsync(array $args = [])
* @method \Aws\Result describeConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConfigurationAsync(array $args = [])
* @method \Aws\Result describeConfigurationRevision(array $args = [])
@ -55,6 +61,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getBootstrapBrokersAsync(array $args = [])
* @method \Aws\Result getCompatibleKafkaVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCompatibleKafkaVersionsAsync(array $args = [])
* @method \Aws\Result listChannels(array $args = [])
* @method \GuzzleHttp\Promise\Promise listChannelsAsync(array $args = [])
* @method \Aws\Result listClusterOperations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listClusterOperationsAsync(array $args = [])
* @method \Aws\Result listClusterOperationsV2(array $args = [])
@ -105,6 +113,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateBrokerStorageAsync(array $args = [])
* @method \Aws\Result updateConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateConfigurationAsync(array $args = [])
* @method \Aws\Result updateChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateChannelAsync(array $args = [])
* @method \Aws\Result updateClusterConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateClusterConfigurationAsync(array $args = [])
* @method \Aws\Result updateClusterKafkaVersion(array $args = [])

View file

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

View file

@ -0,0 +1,19 @@
<?php
namespace Aws\LambdaCore;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Lambda Core** service.
* @method \Aws\Result createNetworkConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNetworkConnectorAsync(array $args = [])
* @method \Aws\Result deleteNetworkConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNetworkConnectorAsync(array $args = [])
* @method \Aws\Result getNetworkConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise getNetworkConnectorAsync(array $args = [])
* @method \Aws\Result listNetworkConnectors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNetworkConnectorsAsync(array $args = [])
* @method \Aws\Result updateNetworkConnector(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateNetworkConnectorAsync(array $args = [])
*/
class LambdaCoreClient extends AwsClient {}

View file

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

View file

@ -0,0 +1,57 @@
<?php
namespace Aws\LambdaMicrovms;
use Aws\AwsClient;
/**
* This client is used to interact with the **Lambda MicroVMs** service.
* @method \Aws\Result createMicrovmAuthToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMicrovmAuthTokenAsync(array $args = [])
* @method \Aws\Result createMicrovmImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMicrovmImageAsync(array $args = [])
* @method \Aws\Result createMicrovmShellAuthToken(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMicrovmShellAuthTokenAsync(array $args = [])
* @method \Aws\Result deleteMicrovmImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteMicrovmImageAsync(array $args = [])
* @method \Aws\Result deleteMicrovmImageVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteMicrovmImageVersionAsync(array $args = [])
* @method \Aws\Result getMicrovm(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMicrovmAsync(array $args = [])
* @method \Aws\Result getMicrovmImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMicrovmImageAsync(array $args = [])
* @method \Aws\Result getMicrovmImageBuild(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMicrovmImageBuildAsync(array $args = [])
* @method \Aws\Result getMicrovmImageVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMicrovmImageVersionAsync(array $args = [])
* @method \Aws\Result listManagedMicrovmImageVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listManagedMicrovmImageVersionsAsync(array $args = [])
* @method \Aws\Result listManagedMicrovmImages(array $args = [])
* @method \GuzzleHttp\Promise\Promise listManagedMicrovmImagesAsync(array $args = [])
* @method \Aws\Result listMicrovmImageBuilds(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMicrovmImageBuildsAsync(array $args = [])
* @method \Aws\Result listMicrovmImageVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMicrovmImageVersionsAsync(array $args = [])
* @method \Aws\Result listMicrovmImages(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMicrovmImagesAsync(array $args = [])
* @method \Aws\Result listMicrovms(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMicrovmsAsync(array $args = [])
* @method \Aws\Result listTags(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
* @method \Aws\Result resumeMicrovm(array $args = [])
* @method \GuzzleHttp\Promise\Promise resumeMicrovmAsync(array $args = [])
* @method \Aws\Result runMicrovm(array $args = [])
* @method \GuzzleHttp\Promise\Promise runMicrovmAsync(array $args = [])
* @method \Aws\Result suspendMicrovm(array $args = [])
* @method \GuzzleHttp\Promise\Promise suspendMicrovmAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
* @method \Aws\Result terminateMicrovm(array $args = [])
* @method \GuzzleHttp\Promise\Promise terminateMicrovmAsync(array $args = [])
* @method \Aws\Result untagResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateMicrovmImage(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateMicrovmImageAsync(array $args = [])
* @method \Aws\Result updateMicrovmImageVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateMicrovmImageVersionAsync(array $args = [])
*/
class LambdaMicrovmsClient extends AwsClient {}

View file

@ -31,6 +31,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeConfigurationAsync(array $args = [])
* @method \Aws\Result describeConfigurationRevision(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConfigurationRevisionAsync(array $args = [])
* @method \Aws\Result describeSharedResources(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSharedResourcesAsync(array $args = [])
* @method \Aws\Result describeUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = [])
* @method \Aws\Result listBrokers(array $args = [])

View file

@ -265,7 +265,7 @@ final class Middleware
RequestInterface $request
) use ($handler){
return $handler($command, $request->withHeader(
'aws-sdk-invocation-id',
'amz-sdk-invocation-id',
md5(uniqid(gethostname(), true))
));
};

View file

@ -132,10 +132,14 @@ abstract class AbstractUploader extends AbstractUploadManager
// Use the contents of a file as the data source.
if (is_string($source)) {
$source = Psr7\Utils::tryFopen($source, 'r');
$stream = Psr7\Utils::streamFor($source);
} elseif (is_resource($source)) {
// User-owned resource — don't fclose on destruct.
$stream = \Aws\detach_on_close_stream(Psr7\Utils::streamFor($source));
} else {
$stream = Psr7\Utils::streamFor($source);
}
// Create a source stream.
$stream = Psr7\Utils::streamFor($source);
if (!$stream->isReadable()) {
throw new IAE('Source stream must be readable.');
}

View file

@ -44,12 +44,23 @@ class UploadState
/** @var boolean Determines status for tracking the upload */
private $displayProgress = false;
/**
* @var array Subset of upload-manager config retained for resume flows.
*
* Carries the original caller's directives (`metadata_directive`,
* `tags_directive`, `annotations_directive`) so a later
* `getStateFromService(...) → new MultipartCopy(['state' => $s])` can
* replay Phase 3 correctly without the caller having to re-specify.
*/
private array $config = [];
/**
* @param array $id Params used to identity the upload.
*/
public function __construct(array $id, array $config = [])
{
$this->id = $id;
$this->config = $config;
if (isset($config['display_progress'])
&& is_bool($config['display_progress'])
@ -58,6 +69,14 @@ class UploadState
}
}
/**
* @return array The config array the state was constructed with.
*/
public function getConfig(): array
{
return $this->config;
}
/**
* Get the upload's ID, which is a tuple of parameters that can uniquely
* identify the upload.

View file

@ -15,6 +15,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise associateSubnetsAsync(array $args = [])
* @method \Aws\Result attachRuleGroupsToProxyConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise attachRuleGroupsToProxyConfigurationAsync(array $args = [])
* @method \Aws\Result createContainerAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createContainerAssociationAsync(array $args = [])
* @method \Aws\Result createFirewall(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFirewallAsync(array $args = [])
* @method \Aws\Result createFirewallPolicy(array $args = [])
@ -33,6 +35,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createTLSInspectionConfigurationAsync(array $args = [])
* @method \Aws\Result createVpcEndpointAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createVpcEndpointAssociationAsync(array $args = [])
* @method \Aws\Result deleteContainerAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteContainerAssociationAsync(array $args = [])
* @method \Aws\Result deleteFirewall(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFirewallAsync(array $args = [])
* @method \Aws\Result deleteFirewallPolicy(array $args = [])
@ -55,6 +59,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteTLSInspectionConfigurationAsync(array $args = [])
* @method \Aws\Result deleteVpcEndpointAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteVpcEndpointAssociationAsync(array $args = [])
* @method \Aws\Result describeContainerAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeContainerAssociationAsync(array $args = [])
* @method \Aws\Result describeFirewall(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFirewallAsync(array $args = [])
* @method \Aws\Result describeFirewallMetadata(array $args = [])
@ -95,6 +101,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getAnalysisReportResultsAsync(array $args = [])
* @method \Aws\Result listAnalysisReports(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAnalysisReportsAsync(array $args = [])
* @method \Aws\Result listContainerAssociations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listContainerAssociationsAsync(array $args = [])
* @method \Aws\Result listFirewallPolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFirewallPoliciesAsync(array $args = [])
* @method \Aws\Result listFirewalls(array $args = [])
@ -133,6 +141,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateAvailabilityZoneChangeProtection(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAvailabilityZoneChangeProtectionAsync(array $args = [])
* @method \Aws\Result updateContainerAssociation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateContainerAssociationAsync(array $args = [])
* @method \Aws\Result updateFirewallAnalysisSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFirewallAnalysisSettingsAsync(array $args = [])
* @method \Aws\Result updateFirewallDeleteProtection(array $args = [])
@ -157,6 +167,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateProxyRuleGroupPrioritiesAsync(array $args = [])
* @method \Aws\Result updateProxyRulePriorities(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProxyRulePrioritiesAsync(array $args = [])
* @method \Aws\Result updateProxySettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateProxySettingsAsync(array $args = [])
* @method \Aws\Result updateRuleGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRuleGroupAsync(array $args = [])
* @method \Aws\Result updateSubnetChangeProtection(array $args = [])

View file

@ -9,28 +9,58 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise acceptMarketplaceRegistrationAsync(array $args = [])
* @method \Aws\Result associateIamRoleToResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateIamRoleToResourceAsync(array $args = [])
* @method \Aws\Result associateVirtualMachinesToExadbVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateVirtualMachinesToExadbVmClusterAsync(array $args = [])
* @method \Aws\Result createAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result createAutonomousDatabaseBackup(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAutonomousDatabaseBackupAsync(array $args = [])
* @method \Aws\Result createAutonomousDatabaseWallet(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAutonomousDatabaseWalletAsync(array $args = [])
* @method \Aws\Result createCloudAutonomousVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCloudAutonomousVmClusterAsync(array $args = [])
* @method \Aws\Result createCloudExadataInfrastructure(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCloudExadataInfrastructureAsync(array $args = [])
* @method \Aws\Result createCloudVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise createCloudVmClusterAsync(array $args = [])
* @method \Aws\Result createExadbVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise createExadbVmClusterAsync(array $args = [])
* @method \Aws\Result createExascaleDbStorageVault(array $args = [])
* @method \GuzzleHttp\Promise\Promise createExascaleDbStorageVaultAsync(array $args = [])
* @method \Aws\Result createOdbNetwork(array $args = [])
* @method \GuzzleHttp\Promise\Promise createOdbNetworkAsync(array $args = [])
* @method \Aws\Result createOdbPeeringConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise createOdbPeeringConnectionAsync(array $args = [])
* @method \Aws\Result deleteAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result deleteAutonomousDatabaseBackup(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAutonomousDatabaseBackupAsync(array $args = [])
* @method \Aws\Result deleteCloudAutonomousVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCloudAutonomousVmClusterAsync(array $args = [])
* @method \Aws\Result deleteCloudExadataInfrastructure(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCloudExadataInfrastructureAsync(array $args = [])
* @method \Aws\Result deleteCloudVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteCloudVmClusterAsync(array $args = [])
* @method \Aws\Result deleteExadbVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteExadbVmClusterAsync(array $args = [])
* @method \Aws\Result deleteExascaleDbStorageVault(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteExascaleDbStorageVaultAsync(array $args = [])
* @method \Aws\Result deleteOdbNetwork(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteOdbNetworkAsync(array $args = [])
* @method \Aws\Result deleteOdbPeeringConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteOdbPeeringConnectionAsync(array $args = [])
* @method \Aws\Result disassociateIamRoleFromResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateIamRoleFromResourceAsync(array $args = [])
* @method \Aws\Result disassociateVirtualMachinesFromExadbVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateVirtualMachinesFromExadbVmClusterAsync(array $args = [])
* @method \Aws\Result failoverAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise failoverAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result getAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result getAutonomousDatabaseBackup(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAutonomousDatabaseBackupAsync(array $args = [])
* @method \Aws\Result getAutonomousDatabaseWalletDetails(array $args = [])
* @method \GuzzleHttp\Promise\Promise getAutonomousDatabaseWalletDetailsAsync(array $args = [])
* @method \Aws\Result getCloudAutonomousVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise getCloudAutonomousVmClusterAsync(array $args = [])
* @method \Aws\Result getCloudExadataInfrastructure(array $args = [])
@ -43,6 +73,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getDbNodeAsync(array $args = [])
* @method \Aws\Result getDbServer(array $args = [])
* @method \GuzzleHttp\Promise\Promise getDbServerAsync(array $args = [])
* @method \Aws\Result getExadbVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExadbVmClusterAsync(array $args = [])
* @method \Aws\Result getExascaleDbStorageVault(array $args = [])
* @method \GuzzleHttp\Promise\Promise getExascaleDbStorageVaultAsync(array $args = [])
* @method \Aws\Result getOciOnboardingStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getOciOnboardingStatusAsync(array $args = [])
* @method \Aws\Result getOdbNetwork(array $args = [])
@ -51,6 +85,18 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getOdbPeeringConnectionAsync(array $args = [])
* @method \Aws\Result initializeService(array $args = [])
* @method \GuzzleHttp\Promise\Promise initializeServiceAsync(array $args = [])
* @method \Aws\Result listAutonomousDatabaseBackups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAutonomousDatabaseBackupsAsync(array $args = [])
* @method \Aws\Result listAutonomousDatabaseCharacterSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAutonomousDatabaseCharacterSetsAsync(array $args = [])
* @method \Aws\Result listAutonomousDatabaseClones(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAutonomousDatabaseClonesAsync(array $args = [])
* @method \Aws\Result listAutonomousDatabasePeers(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAutonomousDatabasePeersAsync(array $args = [])
* @method \Aws\Result listAutonomousDatabaseVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAutonomousDatabaseVersionsAsync(array $args = [])
* @method \Aws\Result listAutonomousDatabases(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAutonomousDatabasesAsync(array $args = [])
* @method \Aws\Result listAutonomousVirtualMachines(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAutonomousVirtualMachinesAsync(array $args = [])
* @method \Aws\Result listCloudAutonomousVmClusters(array $args = [])
@ -65,6 +111,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listDbServersAsync(array $args = [])
* @method \Aws\Result listDbSystemShapes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDbSystemShapesAsync(array $args = [])
* @method \Aws\Result listExadbVmClusters(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExadbVmClustersAsync(array $args = [])
* @method \Aws\Result listExascaleDbStorageVaults(array $args = [])
* @method \GuzzleHttp\Promise\Promise listExascaleDbStorageVaultsAsync(array $args = [])
* @method \Aws\Result listGiMinorVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGiMinorVersionsAsync(array $args = [])
* @method \Aws\Result listGiVersions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listGiVersionsAsync(array $args = [])
* @method \Aws\Result listOdbNetworks(array $args = [])
@ -75,18 +127,38 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listSystemVersionsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result rebootAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise rebootAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result rebootDbNode(array $args = [])
* @method \GuzzleHttp\Promise\Promise rebootDbNodeAsync(array $args = [])
* @method \Aws\Result restoreAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise restoreAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result shrinkAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise shrinkAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result startAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise startAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result startDbNode(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDbNodeAsync(array $args = [])
* @method \Aws\Result stopAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result stopDbNode(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopDbNodeAsync(array $args = [])
* @method \Aws\Result switchoverAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise switchoverAutonomousDatabaseAsync(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 updateAutonomousDatabase(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAutonomousDatabaseAsync(array $args = [])
* @method \Aws\Result updateAutonomousDatabaseBackup(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateAutonomousDatabaseBackupAsync(array $args = [])
* @method \Aws\Result updateCloudExadataInfrastructure(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateCloudExadataInfrastructureAsync(array $args = [])
* @method \Aws\Result updateExadbVmCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateExadbVmClusterAsync(array $args = [])
* @method \Aws\Result updateExascaleDbStorageVault(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateExascaleDbStorageVaultAsync(array $args = [])
* @method \Aws\Result updateOdbNetwork(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateOdbNetworkAsync(array $args = [])
* @method \Aws\Result updateOdbPeeringConnection(array $args = [])

View file

@ -17,6 +17,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise associatePackageAsync(array $args = [])
* @method \Aws\Result associatePackages(array $args = [])
* @method \GuzzleHttp\Promise\Promise associatePackagesAsync(array $args = [])
* @method \Aws\Result attachDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise attachDataSourceAsync(array $args = [])
* @method \Aws\Result authorizeVpcEndpointAccess(array $args = [])
* @method \GuzzleHttp\Promise\Promise authorizeVpcEndpointAccessAsync(array $args = [])
* @method \Aws\Result cancelDomainConfigChange(array $args = [])
@ -55,6 +57,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteVpcEndpointAsync(array $args = [])
* @method \Aws\Result deregisterCapability(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterCapabilityAsync(array $args = [])
* @method \Aws\Result describeDataSourceAttachment(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDataSourceAttachmentAsync(array $args = [])
* @method \Aws\Result describeDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDomainAsync(array $args = [])
* @method \Aws\Result describeDomainAutoTunes(array $args = [])
@ -87,6 +91,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeReservedInstancesAsync(array $args = [])
* @method \Aws\Result describeVpcEndpoints(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeVpcEndpointsAsync(array $args = [])
* @method \Aws\Result detachDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise detachDataSourceAsync(array $args = [])
* @method \Aws\Result dissociatePackage(array $args = [])
* @method \GuzzleHttp\Promise\Promise dissociatePackageAsync(array $args = [])
* @method \Aws\Result dissociatePackages(array $args = [])
@ -107,14 +113,20 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getDomainMaintenanceStatusAsync(array $args = [])
* @method \Aws\Result getIndex(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIndexAsync(array $args = [])
* @method \Aws\Result getMigration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMigrationAsync(array $args = [])
* @method \Aws\Result getPackageVersionHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPackageVersionHistoryAsync(array $args = [])
* @method \Aws\Result getUpgradeHistory(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUpgradeHistoryAsync(array $args = [])
* @method \Aws\Result getUpgradeStatus(array $args = [])
* @method \GuzzleHttp\Promise\Promise getUpgradeStatusAsync(array $args = [])
* @method \Aws\Result insightFeedback(array $args = [])
* @method \GuzzleHttp\Promise\Promise insightFeedbackAsync(array $args = [])
* @method \Aws\Result listApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = [])
* @method \Aws\Result listDataSourceAttachments(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataSourceAttachmentsAsync(array $args = [])
* @method \Aws\Result listDataSources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataSourcesAsync(array $args = [])
* @method \Aws\Result listDirectQueryDataSources(array $args = [])
@ -129,6 +141,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listInsightsAsync(array $args = [])
* @method \Aws\Result listInstanceTypeDetails(array $args = [])
* @method \GuzzleHttp\Promise\Promise listInstanceTypeDetailsAsync(array $args = [])
* @method \Aws\Result listMigrations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMigrationsAsync(array $args = [])
* @method \Aws\Result listPackagesForDomain(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPackagesForDomainAsync(array $args = [])
* @method \Aws\Result listScheduledActions(array $args = [])
@ -159,6 +173,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise rollbackServiceSoftwareUpdateAsync(array $args = [])
* @method \Aws\Result startDomainMaintenance(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDomainMaintenanceAsync(array $args = [])
* @method \Aws\Result startMigration(array $args = [])
* @method \GuzzleHttp\Promise\Promise startMigrationAsync(array $args = [])
* @method \Aws\Result startServiceSoftwareUpdate(array $args = [])
* @method \GuzzleHttp\Promise\Promise startServiceSoftwareUpdateAsync(array $args = [])
* @method \Aws\Result updateApplication(array $args = [])

View file

@ -13,12 +13,16 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createOrderAsync(array $args = [])
* @method \Aws\Result createOutpost(array $args = [])
* @method \GuzzleHttp\Promise\Promise createOutpostAsync(array $args = [])
* @method \Aws\Result createQuote(array $args = [])
* @method \GuzzleHttp\Promise\Promise createQuoteAsync(array $args = [])
* @method \Aws\Result createRenewal(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRenewalAsync(array $args = [])
* @method \Aws\Result createSite(array $args = [])
* @method \GuzzleHttp\Promise\Promise createSiteAsync(array $args = [])
* @method \Aws\Result deleteOutpost(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteOutpostAsync(array $args = [])
* @method \Aws\Result deleteQuote(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteQuoteAsync(array $args = [])
* @method \Aws\Result deleteSite(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSiteAsync(array $args = [])
* @method \Aws\Result getCapacityTask(array $args = [])
@ -37,6 +41,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getOutpostInstanceTypesAsync(array $args = [])
* @method \Aws\Result getOutpostSupportedInstanceTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise getOutpostSupportedInstanceTypesAsync(array $args = [])
* @method \Aws\Result getQuote(array $args = [])
* @method \GuzzleHttp\Promise\Promise getQuoteAsync(array $args = [])
* @method \Aws\Result getRenewalPricing(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRenewalPricingAsync(array $args = [])
* @method \Aws\Result getSite(array $args = [])
@ -53,10 +59,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listCapacityTasksAsync(array $args = [])
* @method \Aws\Result listCatalogItems(array $args = [])
* @method \GuzzleHttp\Promise\Promise listCatalogItemsAsync(array $args = [])
* @method \Aws\Result listOrderableInstanceTypes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOrderableInstanceTypesAsync(array $args = [])
* @method \Aws\Result listOrders(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOrdersAsync(array $args = [])
* @method \Aws\Result listOutposts(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOutpostsAsync(array $args = [])
* @method \Aws\Result listQuotes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listQuotesAsync(array $args = [])
* @method \Aws\Result listSites(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSitesAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
@ -73,6 +83,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
* @method \Aws\Result updateOutpost(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateOutpostAsync(array $args = [])
* @method \Aws\Result updateQuote(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateQuoteAsync(array $args = [])
* @method \Aws\Result updateSite(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateSiteAsync(array $args = [])
* @method \Aws\Result updateSiteAddress(array $args = [])

View file

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

View file

@ -1,77 +0,0 @@
<?php
namespace Aws\Panorama;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Panorama** service.
* @method \Aws\Result createApplicationInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApplicationInstanceAsync(array $args = [])
* @method \Aws\Result createJobForDevices(array $args = [])
* @method \GuzzleHttp\Promise\Promise createJobForDevicesAsync(array $args = [])
* @method \Aws\Result createNodeFromTemplateJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNodeFromTemplateJobAsync(array $args = [])
* @method \Aws\Result createPackage(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPackageAsync(array $args = [])
* @method \Aws\Result createPackageImportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise createPackageImportJobAsync(array $args = [])
* @method \Aws\Result deleteDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDeviceAsync(array $args = [])
* @method \Aws\Result deletePackage(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePackageAsync(array $args = [])
* @method \Aws\Result deregisterPackageVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise deregisterPackageVersionAsync(array $args = [])
* @method \Aws\Result describeApplicationInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeApplicationInstanceAsync(array $args = [])
* @method \Aws\Result describeApplicationInstanceDetails(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeApplicationInstanceDetailsAsync(array $args = [])
* @method \Aws\Result describeDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDeviceAsync(array $args = [])
* @method \Aws\Result describeDeviceJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDeviceJobAsync(array $args = [])
* @method \Aws\Result describeNode(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeNodeAsync(array $args = [])
* @method \Aws\Result describeNodeFromTemplateJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeNodeFromTemplateJobAsync(array $args = [])
* @method \Aws\Result describePackage(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePackageAsync(array $args = [])
* @method \Aws\Result describePackageImportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePackageImportJobAsync(array $args = [])
* @method \Aws\Result describePackageVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePackageVersionAsync(array $args = [])
* @method \Aws\Result listApplicationInstanceDependencies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationInstanceDependenciesAsync(array $args = [])
* @method \Aws\Result listApplicationInstanceNodeInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationInstanceNodeInstancesAsync(array $args = [])
* @method \Aws\Result listApplicationInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApplicationInstancesAsync(array $args = [])
* @method \Aws\Result listDevices(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDevicesAsync(array $args = [])
* @method \Aws\Result listDevicesJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDevicesJobsAsync(array $args = [])
* @method \Aws\Result listNodeFromTemplateJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNodeFromTemplateJobsAsync(array $args = [])
* @method \Aws\Result listNodes(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNodesAsync(array $args = [])
* @method \Aws\Result listPackageImportJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPackageImportJobsAsync(array $args = [])
* @method \Aws\Result listPackages(array $args = [])
* @method \GuzzleHttp\Promise\Promise listPackagesAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result provisionDevice(array $args = [])
* @method \GuzzleHttp\Promise\Promise provisionDeviceAsync(array $args = [])
* @method \Aws\Result registerPackageVersion(array $args = [])
* @method \GuzzleHttp\Promise\Promise registerPackageVersionAsync(array $args = [])
* @method \Aws\Result removeApplicationInstance(array $args = [])
* @method \GuzzleHttp\Promise\Promise removeApplicationInstanceAsync(array $args = [])
* @method \Aws\Result signalApplicationInstanceNodeInstances(array $args = [])
* @method \GuzzleHttp\Promise\Promise signalApplicationInstanceNodeInstancesAsync(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 updateDeviceMetadata(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDeviceMetadataAsync(array $args = [])
*/
class PanoramaClient extends AwsClient {}

View file

@ -35,6 +35,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getProfileUpdateTaskAsync(array $args = [])
* @method \Aws\Result getProfileVisibility(array $args = [])
* @method \GuzzleHttp\Promise\Promise getProfileVisibilityAsync(array $args = [])
* @method \Aws\Result getQualificationsAssociationDetails(array $args = [])
* @method \GuzzleHttp\Promise\Promise getQualificationsAssociationDetailsAsync(array $args = [])
* @method \Aws\Result getQualificationsAssociationTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise getQualificationsAssociationTaskAsync(array $args = [])
* @method \Aws\Result getQualificationsDisassociationTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise getQualificationsDisassociationTaskAsync(array $args = [])
* @method \Aws\Result getVerification(array $args = [])
* @method \GuzzleHttp\Promise\Promise getVerificationAsync(array $args = [])
* @method \Aws\Result listConnectionInvitations(array $args = [])
@ -55,6 +61,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise sendEmailVerificationCodeAsync(array $args = [])
* @method \Aws\Result startProfileUpdateTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startProfileUpdateTaskAsync(array $args = [])
* @method \Aws\Result startQualificationsAssociationTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startQualificationsAssociationTaskAsync(array $args = [])
* @method \Aws\Result startQualificationsDisassociationTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startQualificationsDisassociationTaskAsync(array $args = [])
* @method \Aws\Result startVerification(array $args = [])
* @method \GuzzleHttp\Promise\Promise startVerificationAsync(array $args = [])
* @method \Aws\Result tagResource(array $args = [])

View file

@ -0,0 +1,9 @@
<?php
namespace Aws\PartnerCentralRevenueMeasurement\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **Partner Central Revenue Measurement API** service.
*/
class PartnerCentralRevenueMeasurementException extends AwsException {}

View file

@ -0,0 +1,45 @@
<?php
namespace Aws\PartnerCentralRevenueMeasurement;
use Aws\AwsClient;
/**
* This client is used to interact with the **Partner Central Revenue Measurement API** service.
* @method \Aws\Result createMarketplaceRevenueShare(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMarketplaceRevenueShareAsync(array $args = [])
* @method \Aws\Result createMarketplaceRevenueShareAllocation(array $args = [])
* @method \GuzzleHttp\Promise\Promise createMarketplaceRevenueShareAllocationAsync(array $args = [])
* @method \Aws\Result createRevenueAttribution(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRevenueAttributionAsync(array $args = [])
* @method \Aws\Result getMarketplaceRevenueShare(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMarketplaceRevenueShareAsync(array $args = [])
* @method \Aws\Result getMarketplaceRevenueShareAllocation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getMarketplaceRevenueShareAllocationAsync(array $args = [])
* @method \Aws\Result getRevenueAttribution(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRevenueAttributionAsync(array $args = [])
* @method \Aws\Result getRevenueAttributionAllocation(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRevenueAttributionAllocationAsync(array $args = [])
* @method \Aws\Result getRevenueAttributionAllocationsTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise getRevenueAttributionAllocationsTaskAsync(array $args = [])
* @method \Aws\Result listMarketplaceRevenueShareAllocations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMarketplaceRevenueShareAllocationsAsync(array $args = [])
* @method \Aws\Result listMarketplaceRevenueShares(array $args = [])
* @method \GuzzleHttp\Promise\Promise listMarketplaceRevenueSharesAsync(array $args = [])
* @method \Aws\Result listRevenueAttributionAllocations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRevenueAttributionAllocationsAsync(array $args = [])
* @method \Aws\Result listRevenueAttributions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRevenueAttributionsAsync(array $args = [])
* @method \Aws\Result listTagsForResource(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
* @method \Aws\Result startRevenueAttributionAllocationsTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startRevenueAttributionAllocationsTaskAsync(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 updateMarketplaceRevenueShareAllocation(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateMarketplaceRevenueShareAllocationAsync(array $args = [])
* @method \Aws\Result updateRevenueAttribution(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateRevenueAttributionAsync(array $args = [])
*/
class PartnerCentralRevenueMeasurementClient extends AwsClient {}

View file

@ -35,6 +35,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getEngagementInvitationAsync(array $args = [])
* @method \Aws\Result getOpportunity(array $args = [])
* @method \GuzzleHttp\Promise\Promise getOpportunityAsync(array $args = [])
* @method \Aws\Result getProspectingFromEngagementTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise getProspectingFromEngagementTaskAsync(array $args = [])
* @method \Aws\Result getResourceSnapshot(array $args = [])
* @method \GuzzleHttp\Promise\Promise getResourceSnapshotAsync(array $args = [])
* @method \Aws\Result getResourceSnapshotJob(array $args = [])
@ -57,6 +59,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listOpportunitiesAsync(array $args = [])
* @method \Aws\Result listOpportunityFromEngagementTasks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listOpportunityFromEngagementTasksAsync(array $args = [])
* @method \Aws\Result listProspectingFromEngagementTasks(array $args = [])
* @method \GuzzleHttp\Promise\Promise listProspectingFromEngagementTasksAsync(array $args = [])
* @method \Aws\Result listResourceSnapshotJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listResourceSnapshotJobsAsync(array $args = [])
* @method \Aws\Result listResourceSnapshots(array $args = [])
@ -75,6 +79,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise startEngagementFromOpportunityTaskAsync(array $args = [])
* @method \Aws\Result startOpportunityFromEngagementTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startOpportunityFromEngagementTaskAsync(array $args = [])
* @method \Aws\Result startProspectingFromEngagementTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startProspectingFromEngagementTaskAsync(array $args = [])
* @method \Aws\Result startResourceSnapshotJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startResourceSnapshotJobAsync(array $args = [])
* @method \Aws\Result stopResourceSnapshotJob(array $args = [])

View file

@ -65,6 +65,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteProtectConfigurationRuleSetNumberOverrideAsync(array $args = [])
* @method \Aws\Result deleteRcsAgent(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRcsAgentAsync(array $args = [])
* @method \Aws\Result deleteRcsMessageSpendLimitOverride(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRcsMessageSpendLimitOverrideAsync(array $args = [])
* @method \Aws\Result deleteRegistration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRegistrationAsync(array $args = [])
* @method \Aws\Result deleteRegistrationAttachment(array $args = [])
@ -173,6 +175,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise sendNotifyTextMessageAsync(array $args = [])
* @method \Aws\Result sendNotifyVoiceMessage(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendNotifyVoiceMessageAsync(array $args = [])
* @method \Aws\Result sendRcsMessage(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendRcsMessageAsync(array $args = [])
* @method \Aws\Result sendTextMessage(array $args = [])
* @method \GuzzleHttp\Promise\Promise sendTextMessageAsync(array $args = [])
* @method \Aws\Result sendVoiceMessage(array $args = [])
@ -189,6 +193,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise setMediaMessageSpendLimitOverrideAsync(array $args = [])
* @method \Aws\Result setNotifyMessageSpendLimitOverride(array $args = [])
* @method \GuzzleHttp\Promise\Promise setNotifyMessageSpendLimitOverrideAsync(array $args = [])
* @method \Aws\Result setRcsMessageSpendLimitOverride(array $args = [])
* @method \GuzzleHttp\Promise\Promise setRcsMessageSpendLimitOverrideAsync(array $args = [])
* @method \Aws\Result setTextMessageSpendLimitOverride(array $args = [])
* @method \GuzzleHttp\Promise\Promise setTextMessageSpendLimitOverrideAsync(array $args = [])
* @method \Aws\Result setVoiceMessageSpendLimitOverride(array $args = [])

View file

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

View file

@ -0,0 +1,27 @@
<?php
namespace Aws\PricingPlanManager;
use Aws\AwsClient;
/**
* This client is used to interact with the **PricingPlanManager** service.
* @method \Aws\Result approvePaidSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise approvePaidSubscriptionAsync(array $args = [])
* @method \Aws\Result associateResourcesToSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise associateResourcesToSubscriptionAsync(array $args = [])
* @method \Aws\Result cancelSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelSubscriptionAsync(array $args = [])
* @method \Aws\Result cancelSubscriptionChange(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelSubscriptionChangeAsync(array $args = [])
* @method \Aws\Result createSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise createSubscriptionAsync(array $args = [])
* @method \Aws\Result disassociateResourcesFromSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise disassociateResourcesFromSubscriptionAsync(array $args = [])
* @method \Aws\Result getSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSubscriptionAsync(array $args = [])
* @method \Aws\Result listSubscriptions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSubscriptionsAsync(array $args = [])
* @method \Aws\Result updateSubscription(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateSubscriptionAsync(array $args = [])
*/
class PricingPlanManagerClient extends AwsClient {}

View file

@ -11,6 +11,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise batchDeleteKnowledgeBaseAsync(array $args = [])
* @method \Aws\Result batchDeleteTopicReviewedAnswer(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDeleteTopicReviewedAnswerAsync(array $args = [])
* @method \Aws\Result batchDescribeUserLimits(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchDescribeUserLimitsAsync(array $args = [])
* @method \Aws\Result cancelIngestion(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelIngestionAsync(array $args = [])
* @method \Aws\Result createAccountCustomization(array $args = [])
@ -23,6 +25,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createAgentAsync(array $args = [])
* @method \Aws\Result createAnalysis(array $args = [])
* @method \GuzzleHttp\Promise\Promise createAnalysisAsync(array $args = [])
* @method \Aws\Result createApprovalPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise createApprovalPolicyAsync(array $args = [])
* @method \Aws\Result createBrand(array $args = [])
* @method \GuzzleHttp\Promise\Promise createBrandAsync(array $args = [])
* @method \Aws\Result createCustomPermissions(array $args = [])
@ -33,6 +37,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createDataSetAsync(array $args = [])
* @method \Aws\Result createDataSource(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDataSourceAsync(array $args = [])
* @method \Aws\Result createDlpSetting(array $args = [])
* @method \GuzzleHttp\Promise\Promise createDlpSettingAsync(array $args = [])
* @method \Aws\Result createFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise createFlowAsync(array $args = [])
* @method \Aws\Result createFolder(array $args = [])
@ -47,6 +53,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createIAMPolicyAssignmentAsync(array $args = [])
* @method \Aws\Result createIngestion(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIngestionAsync(array $args = [])
* @method \Aws\Result createKnowledgeBase(array $args = [])
* @method \GuzzleHttp\Promise\Promise createKnowledgeBaseAsync(array $args = [])
* @method \Aws\Result createLimitsProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise createLimitsProfileAsync(array $args = [])
* @method \Aws\Result createNamespace(array $args = [])
* @method \GuzzleHttp\Promise\Promise createNamespaceAsync(array $args = [])
* @method \Aws\Result createOAuthClientApplication(array $args = [])
@ -69,6 +79,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createTopicAsync(array $args = [])
* @method \Aws\Result createTopicRefreshSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTopicRefreshScheduleAsync(array $args = [])
* @method \Aws\Result createTopicV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTopicV2Async(array $args = [])
* @method \Aws\Result createVPCConnection(array $args = [])
* @method \GuzzleHttp\Promise\Promise createVPCConnectionAsync(array $args = [])
* @method \Aws\Result deleteAccountCustomPermission(array $args = [])
@ -83,6 +95,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteAgentAsync(array $args = [])
* @method \Aws\Result deleteAnalysis(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteAnalysisAsync(array $args = [])
* @method \Aws\Result deleteApprovalPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteApprovalPolicyAsync(array $args = [])
* @method \Aws\Result deleteBrand(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteBrandAsync(array $args = [])
* @method \Aws\Result deleteBrandAssignment(array $args = [])
@ -99,6 +113,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteDataSourceAsync(array $args = [])
* @method \Aws\Result deleteDefaultQBusinessApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDefaultQBusinessApplicationAsync(array $args = [])
* @method \Aws\Result deleteDlpSetting(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteDlpSettingAsync(array $args = [])
* @method \Aws\Result deleteFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteFlowAsync(array $args = [])
* @method \Aws\Result deleteFolder(array $args = [])
@ -115,6 +131,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteIdentityPropagationConfigAsync(array $args = [])
* @method \Aws\Result deleteKnowledgeBase(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteKnowledgeBaseAsync(array $args = [])
* @method \Aws\Result deleteLimitsProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteLimitsProfileAsync(array $args = [])
* @method \Aws\Result deleteNamespace(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteNamespaceAsync(array $args = [])
* @method \Aws\Result deleteOAuthClientApplication(array $args = [])
@ -139,6 +157,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteTopicAsync(array $args = [])
* @method \Aws\Result deleteTopicRefreshSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTopicRefreshScheduleAsync(array $args = [])
* @method \Aws\Result deleteTopicV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTopicV2Async(array $args = [])
* @method \Aws\Result deleteUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = [])
* @method \Aws\Result deleteUserByPrincipalId(array $args = [])
@ -169,6 +189,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeAnalysisDefinitionAsync(array $args = [])
* @method \Aws\Result describeAnalysisPermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAnalysisPermissionsAsync(array $args = [])
* @method \Aws\Result describeApprovalPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeApprovalPolicyAsync(array $args = [])
* @method \Aws\Result describeAssetBundleExportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeAssetBundleExportJobAsync(array $args = [])
* @method \Aws\Result describeAssetBundleImportJob(array $args = [])
@ -207,6 +229,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeDataSourcePermissionsAsync(array $args = [])
* @method \Aws\Result describeDefaultQBusinessApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDefaultQBusinessApplicationAsync(array $args = [])
* @method \Aws\Result describeDlpSetting(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeDlpSettingAsync(array $args = [])
* @method \Aws\Result describeFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeFlowAsync(array $args = [])
* @method \Aws\Result describeFolder(array $args = [])
@ -231,6 +255,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeKnowledgeBaseAsync(array $args = [])
* @method \Aws\Result describeKnowledgeBasePermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeKnowledgeBasePermissionsAsync(array $args = [])
* @method \Aws\Result describeLimitsProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeLimitsProfileAsync(array $args = [])
* @method \Aws\Result describeNamespace(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeNamespaceAsync(array $args = [])
* @method \Aws\Result describeOAuthClientApplication(array $args = [])
@ -267,10 +293,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeTopicAsync(array $args = [])
* @method \Aws\Result describeTopicPermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTopicPermissionsAsync(array $args = [])
* @method \Aws\Result describeTopicPermissionsV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTopicPermissionsV2Async(array $args = [])
* @method \Aws\Result describeTopicRefresh(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTopicRefreshAsync(array $args = [])
* @method \Aws\Result describeTopicRefreshSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTopicRefreshScheduleAsync(array $args = [])
* @method \Aws\Result describeTopicV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeTopicV2Async(array $args = [])
* @method \Aws\Result describeUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = [])
* @method \Aws\Result describeVPCConnection(array $args = [])
@ -297,6 +327,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listAgentsAsync(array $args = [])
* @method \Aws\Result listAnalyses(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAnalysesAsync(array $args = [])
* @method \Aws\Result listApprovalPolicies(array $args = [])
* @method \GuzzleHttp\Promise\Promise listApprovalPoliciesAsync(array $args = [])
* @method \Aws\Result listAssetBundleExportJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listAssetBundleExportJobsAsync(array $args = [])
* @method \Aws\Result listAssetBundleImportJobs(array $args = [])
@ -313,6 +345,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listDataSetsAsync(array $args = [])
* @method \Aws\Result listDataSources(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDataSourcesAsync(array $args = [])
* @method \Aws\Result listDlpSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDlpSettingsAsync(array $args = [])
* @method \Aws\Result listFlows(array $args = [])
* @method \GuzzleHttp\Promise\Promise listFlowsAsync(array $args = [])
* @method \Aws\Result listFolderMembers(array $args = [])
@ -335,6 +369,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listIngestionsAsync(array $args = [])
* @method \Aws\Result listKnowledgeBases(array $args = [])
* @method \GuzzleHttp\Promise\Promise listKnowledgeBasesAsync(array $args = [])
* @method \Aws\Result listLimitsProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listLimitsProfilesAsync(array $args = [])
* @method \Aws\Result listNamespaces(array $args = [])
* @method \GuzzleHttp\Promise\Promise listNamespacesAsync(array $args = [])
* @method \Aws\Result listOAuthClientApplications(array $args = [])
@ -369,6 +405,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listTopicReviewedAnswersAsync(array $args = [])
* @method \Aws\Result listTopics(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTopicsAsync(array $args = [])
* @method \Aws\Result listTopicsV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise listTopicsV2Async(array $args = [])
* @method \Aws\Result listUserGroups(array $args = [])
* @method \GuzzleHttp\Promise\Promise listUserGroupsAsync(array $args = [])
* @method \Aws\Result listUsers(array $args = [])
@ -409,6 +447,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise searchSpacesAsync(array $args = [])
* @method \Aws\Result searchTopics(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchTopicsAsync(array $args = [])
* @method \Aws\Result searchTopicsV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise searchTopicsV2Async(array $args = [])
* @method \Aws\Result startAssetBundleExportJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startAssetBundleExportJobAsync(array $args = [])
* @method \Aws\Result startAssetBundleImportJob(array $args = [])
@ -443,6 +483,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateAnalysisPermissionsAsync(array $args = [])
* @method \Aws\Result updateApplicationWithTokenExchangeGrant(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApplicationWithTokenExchangeGrantAsync(array $args = [])
* @method \Aws\Result updateApprovalPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateApprovalPolicyAsync(array $args = [])
* @method \Aws\Result updateBrand(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateBrandAsync(array $args = [])
* @method \Aws\Result updateBrandAssignment(array $args = [])
@ -471,6 +513,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateDataSourcePermissionsAsync(array $args = [])
* @method \Aws\Result updateDefaultQBusinessApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDefaultQBusinessApplicationAsync(array $args = [])
* @method \Aws\Result updateDlpSetting(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateDlpSettingAsync(array $args = [])
* @method \Aws\Result updateFlow(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateFlowAsync(array $args = [])
* @method \Aws\Result updateFlowPermissions(array $args = [])
@ -489,8 +533,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateIpRestrictionAsync(array $args = [])
* @method \Aws\Result updateKeyRegistration(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateKeyRegistrationAsync(array $args = [])
* @method \Aws\Result updateKnowledgeBase(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateKnowledgeBaseAsync(array $args = [])
* @method \Aws\Result updateKnowledgeBasePermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateKnowledgeBasePermissionsAsync(array $args = [])
* @method \Aws\Result updateLimitsProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateLimitsProfileAsync(array $args = [])
* @method \Aws\Result updateOAuthClientApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateOAuthClientApplicationAsync(array $args = [])
* @method \Aws\Result updatePublicSharingSettings(array $args = [])
@ -531,8 +579,12 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise updateTopicAsync(array $args = [])
* @method \Aws\Result updateTopicPermissions(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTopicPermissionsAsync(array $args = [])
* @method \Aws\Result updateTopicPermissionsV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTopicPermissionsV2Async(array $args = [])
* @method \Aws\Result updateTopicRefreshSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTopicRefreshScheduleAsync(array $args = [])
* @method \Aws\Result updateTopicV2(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateTopicV2Async(array $args = [])
* @method \Aws\Result updateUser(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateUserAsync(array $args = [])
* @method \Aws\Result updateUserCustomPermission(array $args = [])

View file

@ -52,6 +52,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createHsmConfigurationAsync(array $args = [])
* @method \Aws\Result createIntegration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createIntegrationAsync(array $args = [])
* @method \Aws\Result createQev2IdcApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createQev2IdcApplicationAsync(array $args = [])
* @method \Aws\Result createRedshiftIdcApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise createRedshiftIdcApplicationAsync(array $args = [])
* @method \Aws\Result createScheduledAction(array $args = [])
@ -92,6 +94,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteIntegrationAsync(array $args = [])
* @method \Aws\Result deletePartner(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePartnerAsync(array $args = [])
* @method \Aws\Result deleteQev2IdcApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteQev2IdcApplicationAsync(array $args = [])
* @method \Aws\Result deleteRedshiftIdcApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteRedshiftIdcApplicationAsync(array $args = [])
* @method \Aws\Result deleteResourcePolicy(array $args = [])
@ -166,6 +170,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeOrderableClusterOptionsAsync(array $args = [])
* @method \Aws\Result describePartners(array $args = [])
* @method \GuzzleHttp\Promise\Promise describePartnersAsync(array $args = [])
* @method \Aws\Result describeQev2IdcApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeQev2IdcApplicationsAsync(array $args = [])
* @method \Aws\Result describeRedshiftIdcApplications(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeRedshiftIdcApplicationsAsync(array $args = [])
* @method \Aws\Result describeReservedNodeExchangeStatus(array $args = [])
@ -246,6 +252,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise modifyIntegrationAsync(array $args = [])
* @method \Aws\Result modifyLakehouseConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyLakehouseConfigurationAsync(array $args = [])
* @method \Aws\Result modifyQev2IdcApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyQev2IdcApplicationAsync(array $args = [])
* @method \Aws\Result modifyRedshiftIdcApplication(array $args = [])
* @method \GuzzleHttp\Promise\Promise modifyRedshiftIdcApplicationAsync(array $args = [])
* @method \Aws\Result modifyScheduledAction(array $args = [])

View file

@ -23,6 +23,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listDatabasesAsync(array $args = [])
* @method \Aws\Result listSchemas(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSchemasAsync(array $args = [])
* @method \Aws\Result listSessions(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSessionsAsync(array $args = [])
* @method \Aws\Result listStatements(array $args = [])
* @method \GuzzleHttp\Promise\Promise listStatementsAsync(array $args = [])
* @method \Aws\Result listTables(array $args = [])

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